A Julia összehasonlító operátorai sok más nyelvhez hasonlóan működnek, bár a matematikát kedvelőknek néhány extra lehetőséget is kínálnak.
Az egyenlőségvizsgálathoz a == (egyenlő), valamint a != vagy ≠ (nem egyenlő) operátor áll rendelkezésre.
txt = "abc"
txt == "abc" # true
txt != "abc" # false
txt ≠ "abc" # false (synonym for !=)
Ezenkívül ott vannak a különféle nagyobb/kisebb operátorok is.
1 < 3 # true
3 > 3 # false
3 <= 3 # true
3 ≤ 3 # true (synonym for <=)
4 >= 3 # true
4 ≥ 3 # true (synonym for >=)
Ahogy az a Juliában gyakran lenni szokott, egy megfelelő szerkesztővel könnyű beírni a matematikai szimbólumot. Írd be a \ne, \le vagy \ge sorozatot, majd üsd le a TAB billentyűt, és megkapod a ≠, ≤ vagy ≥ jelet.
Az előző példa csak számokat használ, de a tanterv más részein látni fogjuk, hogy jó néhány további típusnak is van rendezési fogalma, és ezeken vizsgálható a nagyobb/kisebb viszony.
Az összehasonlító operátorok egymás után fűzhetők, ami világos és tömör szintaxist tesz lehetővé:
n = 3
1 ≤ n ≤ 5 # true (n "between" two limits)
Az előző példa a 1 ≤ n && n ≤ 5 szinonimája.
if-felEz az if elágazás teljes formája:
if conditional1
statements...
elseif conditional2
statements...
else
statements...
end
Nincs szükség kerek zárójelre (()) vagy kapcsos zárójelre ({}), a behúzás pedig „csak” az olvashatóságot szolgálja (de az olvashatóság nagyon fontos!). Mind az elseif, mind az else elhagyható, és több elseif blokk is szerepelhet. Az end viszont kötelező.
Lehetőség van if elágazások egymásba ágyazására, bár az olvashatóságot segítheted a zárójelek, behúzások és kommentek átgondolt használatával.
Az if elágazás legrövidebb formája valahogy így néz ki:
if n < 0
n = 0
end
Emlékeztetőül: feltételként csak olyan kifejezés használható, amelynek kiértékelése true vagy false. A Julia szándékosan kerüli a „truthiness” bármilyen fogalmát, ezért a nullaértékek, az üres stringek és az üres tömbök nem egyenértékűek a false értékkel.
Egy egyszerű és gyakori helyzet, amikor egy feltétel alapján két érték közül választunk.
A Juliának, mint sok más nyelvnek, van egy ternáris operátora, amivel ez tömörebben leírható.
A szintaxis: conditional ? value_if_true : value_if_false.
Így az előző példa átírható:
n = n < 0 ? 0 : n
A fordító nem követeli meg a zárójeleket, de azok javíthatják az olvashatóságot.
match utasítás a Juliában?Jelenleg a match/case szerkezet nem része az alapnyelvnek.
Egyszerű esetekben az if..elseif..else használata javasolt.
Kifinomult, a Scaláéhoz hasonló mintaillesztéshez népszerű a Match.jl csomag. A legtöbb harmadik féltől származó csomaghoz hasonlóan azonban a Match nem érhető el az Exercism tesztfuttatójában.