summaryrefslogtreecommitdiff
path: root/If-Else/ifelse.b
diff options
context:
space:
mode:
Diffstat (limited to 'If-Else/ifelse.b')
-rw-r--r--If-Else/ifelse.b60
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;
+}