diff options
Diffstat (limited to 'If-Else/ifelse.b')
| -rw-r--r-- | If-Else/ifelse.b | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/If-Else/ifelse.b b/If-Else/ifelse.b new file mode 100644 index 0000000..cdd1548 --- /dev/null +++ b/If-Else/ifelse.b @@ -0,0 +1,60 @@ +implement IfElse; + +include "sys.m"; +include "draw.m"; +include "bufio.m"; + +sys: Sys; +print, FD: import sys; + +bufio: Bufio; + +stderr: ref FD; + +IfElse: module { + init: fn(nil: ref Draw->Context, nil: list of string); +}; + +init(nil: ref Draw->Context, nil: list of string) { + sys = load Sys Sys->PATH; + stderr = sys->fildes(2); + + bufio = load Bufio Bufio->PATH; + if(bufio == nil) { + sys->fprint(stderr, "err: could not load %s %r\n", Bufio->PATH); + raise "fail:load"; + } + + str := ""; + if(str == nil) + print("String %s is nil\n", str); + + if(str == "") + print("String %s is empty\n", str); + + l: list of string; + if(l == nil) + print("List is nil\n"); + + l = "ducks" :: l; + if(l != nil) { + print("List is not nil, 0th is: \"%s\"\n", hd l); + } + + num := 7; + if(num % 2 == 0) + print("%d is even\n", num); + else + print("%d is odd\n", num); + + num = 9; + if(num < 0) { + print("%d is negative\n", num); + } else if(num < 10) + print("%d has one digit\n", num); + else { + print("%d is positive and has multiple digits\n", num); + } + + exit; +} |
