Refactored the interface of the io package
This commit is contained in:
@ -8,6 +8,6 @@ main() {
|
||||
buffer[2] = 'l'
|
||||
buffer[3] = 'l'
|
||||
buffer[4] = 'o'
|
||||
io.out(buffer)
|
||||
io.write(buffer)
|
||||
mem.free(buffer)
|
||||
}
|
@ -19,6 +19,6 @@ collatz(x int) {
|
||||
return
|
||||
}
|
||||
|
||||
io.out(" ")
|
||||
io.write(" ")
|
||||
}
|
||||
}
|
@ -10,9 +10,9 @@ fizzbuzz(n int) {
|
||||
|
||||
loop {
|
||||
switch {
|
||||
x % 15 == 0 { io.out("FizzBuzz") }
|
||||
x % 5 == 0 { io.out("Buzz") }
|
||||
x % 3 == 0 { io.out("Fizz") }
|
||||
x % 15 == 0 { io.write("FizzBuzz") }
|
||||
x % 5 == 0 { io.write("Buzz") }
|
||||
x % 3 == 0 { io.write("Fizz") }
|
||||
_ { fmt.decimal(x) }
|
||||
}
|
||||
|
||||
@ -22,6 +22,6 @@ fizzbuzz(n int) {
|
||||
return
|
||||
}
|
||||
|
||||
io.out(" ")
|
||||
io.write(" ")
|
||||
}
|
||||
}
|
@ -1,5 +1,5 @@
|
||||
import io
|
||||
|
||||
main() {
|
||||
io.out("Hello\n")
|
||||
io.write("Hello\n")
|
||||
}
|
@ -1,5 +1,5 @@
|
||||
import io
|
||||
import mem
|
||||
import sys
|
||||
|
||||
Point {
|
||||
x int
|
||||
@ -29,6 +29,6 @@ print(p *Point) {
|
||||
out[5] = ' '
|
||||
out[6] = '0' + p.y
|
||||
out[7] = '\n'
|
||||
sys.write(1, out, 8)
|
||||
io.write(out)
|
||||
mem.free(out)
|
||||
}
|
@ -12,7 +12,7 @@ main() {
|
||||
|
||||
if isPrime(i) {
|
||||
if i != 2 {
|
||||
io.out(" ")
|
||||
io.write(" ")
|
||||
}
|
||||
|
||||
fmt.decimal(i)
|
||||
|
@ -6,30 +6,30 @@ main() {
|
||||
socket := sys.socket(2, 1, 0)
|
||||
|
||||
if socket < 0 {
|
||||
io.error("socket error\n")
|
||||
io.write("socket error\n")
|
||||
sys.exit(1)
|
||||
}
|
||||
|
||||
if net.bind(socket, 8080) != 0 {
|
||||
io.error("bind error\n")
|
||||
io.write("bind error\n")
|
||||
sys.exit(1)
|
||||
}
|
||||
|
||||
if sys.listen(socket, 128) != 0 {
|
||||
io.error("listen error\n")
|
||||
io.write("listen error\n")
|
||||
sys.exit(1)
|
||||
}
|
||||
|
||||
io.out("listening...\n")
|
||||
io.write("listening...\n")
|
||||
|
||||
loop {
|
||||
conn := sys.accept(socket, 0, 0)
|
||||
|
||||
if conn >= 0 {
|
||||
io.write(conn, "HTTP/1.0 200 OK\r\nContent-Length: 6\r\n\r\nHello\n")
|
||||
io.writeTo(conn, "HTTP/1.0 200 OK\r\nContent-Length: 6\r\n\r\nHello\n")
|
||||
sys.close(conn)
|
||||
} else {
|
||||
io.error("accept error\n")
|
||||
io.write("accept error\n")
|
||||
}
|
||||
}
|
||||
}
|
@ -7,7 +7,7 @@ main() {
|
||||
command := mem.alloc(length)
|
||||
|
||||
loop {
|
||||
io.out("λ ")
|
||||
io.write("λ ")
|
||||
n := io.in(command)
|
||||
|
||||
if n <= 0 {
|
||||
|
@ -10,6 +10,6 @@ main() {
|
||||
}
|
||||
|
||||
work() {
|
||||
io.out("[ ] start\n")
|
||||
io.out("[x] end\n")
|
||||
io.write("[ ] start\n")
|
||||
io.write("[x] end\n")
|
||||
}
|
14
lib/io/io.q
14
lib/io/io.q
@ -1,17 +1,3 @@
|
||||
import sys
|
||||
|
||||
in(buffer []byte) -> int {
|
||||
return sys.read(std.in, buffer, len(buffer))
|
||||
}
|
||||
|
||||
out(buffer []byte) -> int {
|
||||
return sys.write(std.out, buffer, len(buffer))
|
||||
}
|
||||
|
||||
error(buffer []byte) -> int {
|
||||
return sys.write(std.err, buffer, len(buffer))
|
||||
}
|
||||
|
||||
const {
|
||||
std {
|
||||
in 0
|
||||
|
@ -1,5 +1,9 @@
|
||||
import sys
|
||||
|
||||
read(fd int, buffer []byte) -> int {
|
||||
read(buffer []byte) -> int {
|
||||
return sys.read(std.in, buffer, len(buffer))
|
||||
}
|
||||
|
||||
readFrom(fd int, buffer []byte) -> int {
|
||||
return sys.read(fd, buffer, len(buffer))
|
||||
}
|
@ -1,5 +1,9 @@
|
||||
import sys
|
||||
|
||||
write(fd int, buffer []byte) -> int {
|
||||
write(buffer []byte) -> int {
|
||||
return sys.write(std.out, buffer, len(buffer))
|
||||
}
|
||||
|
||||
writeTo(fd int, buffer []byte) -> int {
|
||||
return sys.write(fd, buffer, len(buffer))
|
||||
}
|
Reference in New Issue
Block a user