utasítás: HA logikai lista1
HA logikai lista1 lista2
ahol lista1, lista2 Logo-utasítások listája
függvény: HA logikai [ kifejezés1 ] [ kifejezés2 ]
A HA utasítás és a HA függvény a második és harmadik bemenetük alapján különböztethetők meg egymástól. Ha ezek a listák utasításokat tartalmaznak, akkor az egész HA szerkezet szintén utasítás. Ha a második és a harmadik bemenet kifejezés, melyek kiértékelés után eredményt adnak vissza, akkor az egész HA szintén visszaad egy értéket, s ezért ilyenkor függvényről beszélünk. Ha a HA parancsot függvényként használjuk, akkor egyetlen paramétere sem lehet üres lista.
A HA parancsnak mindig teljes egészében bele kell férnie egyetlen logikai sorba. Ha utasításként szerepel, és csak 2 bemenete van, majd ezután egy új utasítás következik ugyanabban a logikai sorban, akkor az egész HA szerkezetet zárójelek közé kell foglalni. Ahhoz, hogy a HA parancs jobban olvasható legyen, néha hasznos a TESZT, HAIGAZ és HAHAMIS utasításokkal helyettesíteni.
Utasítás: ha az első bemenete IGAZ, akkor a lista1 elemeit hajtja végre. Ha az első bemenet értéke HAMIS és létezik a harmadik paraméterként megadott lista2, akkor az ebben található utasításokat hajtja végre. Ha az első bemenet HAMIS, és nincs harmadik bemenő adat, akkor a HA utasításnak semmiféle hatása sincs.
TANULD PRÓBA.1 :SZÁM
HA MA :SZÁM 2 = 0 [KIÍR "PÁROS] [KIÍR "PÁRATLAN]
VÉGE
? PRÓBA.1 22
PÁROS
? PRÓBA.1 23
PÁRATLAN
Függvény: Eredménye a kifejezés1 által visszaadott érték (azaz a kifejezés1 kiértékelésével kapott eredmény), ha az első bemenet IGAZ, különben pedig a kifejezés2 kiértékelésével kapott érték.
TANULD PRÓBA.2 :SZÁM
ER HA MA :SZÁM 2 = 0 ["PÁROS] ["PÁRATLAN]
VÉGE
? KI PRÓBA.2 22
PÁROS
? KI PRÓBA.2 23
PÁRATLAN