W podobny sposób wykonany zostanie kod: a = funkcja_B(b) && funkcja_C(c) ? b : c; Przypisanie do zmiennej a wartości c nastąpi gdy: funkcja_B(b) zwróci fałsz, wtedy funkcja_C(c) nie zostanie wykonana funkcja_B(b) zwróci prawdę, a funkcja_C(c) zwróci fałsz
Z tego typu leniwego wartościowania korzysta idiom perla postaci: funkcja(X) || die("mamy problem"); który określa, że jeżeli funkcja(X) nie zwróci prawdy, to znaczy, że mamy problem i należy zakończyć wykonanie programu.
Jednak oba wzmiankowane powyżej języki dokonują zachłannej ewaluacji wywołań funkcji, ponieważ w obu językach wartości argumentów funkcji są obliczane przed jej wykonaniem.
Przykładami języków stosujących leniwe wartościowanie są Haskell oraz D.
Zobacz też przekazywanie argumentów przez nazwę
Kategoria:Programowanie komputerów Kategoria:Programowanie funkcyjne