Hi, Anrew, it doesn't work in the case:
ifs [
false append/only copy [print] "Hi"
true [print first "hello"]
]
> ; Lazy evaluation of multiple 'if-s.
>
> Ifs: function [Ifs [block!] /Default Case [block!]] [Block] [
> while [not empty? Ifs] [
> Block: do/next Ifs
> if first Block [return do first second Block]
> Ifs: next second Block
> ]
> if Default [return do Case]
> none
> ]
>
> print Ifs/Default [
> X < 0 [-1]
> X = 0 [0]
> (0 < X) and (X < 10) [+1]
> ] ["Much bigger!"]
>
> It's a lot like Ladislav's version.
>
> Andrew Martin
> ICQ: 26227169
> [EMAIL PROTECTED]
> http://members.xoom.com/AndrewMartin/
> -><-
>
>
>
>