Files
wren/builtin/io.wren
Bob Nystrom d91c06d18b Tweak IO library a bit:
- Reword some docs.
- Make IO.printAll() public.
- Require () on read.
2015-07-18 14:09:00 -07:00

102 lines
2.4 KiB
Plaintext

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()
}