feat: replace IO class with System class and remove separate IO module

- Delete wren_io.c, wren_io.h, and io.wren source files
- Remove multi-arity print overloads and IO.read/IO.time methods
- Add System class with print, printAll, write, writeAll methods to core.wren
- Update all documentation examples and README to use System.print instead of IO.print
This commit is contained in:
Bob Nystrom
2015-09-15 14:46:09 +00:00
parent f12581a674
commit aa72900a9e
491 changed files with 3285 additions and 3544 deletions
+12
View File
@@ -0,0 +1,12 @@
class Foo {
construct new() {}
toString { "Foo.toString" }
}
// Calls toString on argument.
System.print(Foo.new()) // expect: Foo.toString
// Returns the argument.
System.print(System.print(1) == 1) // expect: 1
// expect: true
+8
View File
@@ -0,0 +1,8 @@
class Foo {
construct new() {}
toString { "Foo" }
}
System.printAll([]) // expect:
System.printAll([1, true, Foo.new(), "s"]) // expect: 1trueFoos
@@ -0,0 +1 @@
System.printAll(123) // expect runtime error: Num does not implement 'iterate(_)'.
@@ -0,0 +1,6 @@
class BadToString {
construct new() {}
toString { 3 }
}
System.print(BadToString.new()) // expect: [invalid toString]
+10
View File
@@ -0,0 +1,10 @@
class Foo {
construct new() {}
toString { "Foo" }
}
System.writeAll([]) // expect:
System.print()
System.writeAll([1, true, Foo.new(), "s"]) // expect: 1trueFoos
System.print()
@@ -0,0 +1 @@
System.writeAll(123) // expect runtime error: Num does not implement 'iterate(_)'.
@@ -0,0 +1,7 @@
class BadToString {
construct new() {}
toString { 3 }
}
System.write(BadToString.new())
System.print("!") // expect: [invalid toString]!