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:
@@ -213,3 +213,38 @@ class MapValueSequence is Sequence {
|
||||
}
|
||||
|
||||
class Range is Sequence {}
|
||||
|
||||
class System {
|
||||
static print() {
|
||||
writeString_("\n")
|
||||
}
|
||||
|
||||
static print(obj) {
|
||||
writeObject_(obj)
|
||||
writeString_("\n")
|
||||
return obj
|
||||
}
|
||||
|
||||
static printAll(sequence) {
|
||||
for (object in sequence) writeObject_(object)
|
||||
writeString_("\n")
|
||||
}
|
||||
|
||||
static write(obj) {
|
||||
writeObject_(obj)
|
||||
return obj
|
||||
}
|
||||
|
||||
static writeAll(sequence) {
|
||||
for (object in sequence) writeObject_(object)
|
||||
}
|
||||
|
||||
static writeObject_(obj) {
|
||||
var string = obj.toString
|
||||
if (string is String) {
|
||||
writeString_(string)
|
||||
} else {
|
||||
writeString_("[invalid toString]")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
-101
@@ -1,101 +0,0 @@
|
||||
class IO {
|
||||
static print {
|
||||
writeString_("\n")
|
||||
}
|
||||
|
||||
static print(obj) {
|
||||
writeObject_(obj)
|
||||
writeString_("\n")
|
||||
return obj
|
||||
}
|
||||
|
||||
static print(a1, a2) {
|
||||
printAll([a1, a2])
|
||||
}
|
||||
|
||||
static print(a1, a2, a3) {
|
||||
printAll([a1, a2, a3])
|
||||
}
|
||||
|
||||
static print(a1, a2, a3, a4) {
|
||||
printAll([a1, a2, a3, a4])
|
||||
}
|
||||
|
||||
static print(a1, a2, a3, a4, a5) {
|
||||
printAll([a1, a2, a3, a4, a5])
|
||||
}
|
||||
|
||||
static print(a1, a2, a3, a4, a5, a6) {
|
||||
printAll([a1, a2, a3, a4, a5, a6])
|
||||
}
|
||||
|
||||
static print(a1, a2, a3, a4, a5, a6, a7) {
|
||||
printAll([a1, a2, a3, a4, a5, a6, a7])
|
||||
}
|
||||
|
||||
static print(a1, a2, a3, a4, a5, a6, a7, a8) {
|
||||
printAll([a1, a2, a3, a4, a5, a6, a7, a8])
|
||||
}
|
||||
|
||||
static print(a1, a2, a3, a4, a5, a6, a7, a8, a9) {
|
||||
printAll([a1, a2, a3, a4, a5, a6, a7, a8, a9])
|
||||
}
|
||||
|
||||
static print(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) {
|
||||
printAll([a1, a2, a3, a4, a5, a6, a7, a8, a9, a10])
|
||||
}
|
||||
|
||||
static print(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) {
|
||||
printAll([a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11])
|
||||
}
|
||||
|
||||
static print(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) {
|
||||
printAll([a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12])
|
||||
}
|
||||
|
||||
static print(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) {
|
||||
printAll([a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13])
|
||||
}
|
||||
|
||||
static print(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) {
|
||||
printAll([a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14])
|
||||
}
|
||||
|
||||
static print(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) {
|
||||
printAll([a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15])
|
||||
}
|
||||
|
||||
static print(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) {
|
||||
printAll([a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16])
|
||||
}
|
||||
|
||||
static printAll(sequence) {
|
||||
for (object in sequence) writeObject_(object)
|
||||
writeString_("\n")
|
||||
}
|
||||
|
||||
static write(obj) {
|
||||
writeObject_(obj)
|
||||
return obj
|
||||
}
|
||||
|
||||
static read(prompt) {
|
||||
if (!(prompt is String)) Fiber.abort("Prompt must be a string.")
|
||||
write(prompt)
|
||||
return read()
|
||||
}
|
||||
|
||||
static writeObject_(obj) {
|
||||
var string = obj.toString
|
||||
if (string is String) {
|
||||
writeString_(string)
|
||||
} else {
|
||||
writeString_("[invalid toString]")
|
||||
}
|
||||
}
|
||||
|
||||
foreign static writeString_(string)
|
||||
foreign static clock
|
||||
foreign static time
|
||||
foreign static read()
|
||||
}
|
||||
Reference in New Issue
Block a user