3.5 输入及输出命令
print / readint 命令,用法如下:
- print "Hello world" ; 输出:Hello world
- push 1
- push 2 ; 相当于 print("(%d, %d)", 1, 2);
- print "(%d, %d)" ; 输出:(1, 2)
- readint "Input: "
- pop x ; 相当于 x = readint("Input: ");
print 命令会根据字符串的 “ %d ” 依次将栈顶元素取出,并打印出来,也就是说,上面第二个例子中 print 命令之前入栈的两个参数 1 和 2 ,在 print 后都将出栈。另外注意:参数的入栈的顺序需要从左向右入栈。
- ------------+----------- ------------+-----------
- stack | bind var stack | bind var
- ------------+----------- print "(%d, %d)" ------------+-----------
- ... | ---------------> ... |<-
- ------------+----------- ------------+-----------
- 1 | |
- ------------+----------- ------------+-----------
- 2 |<- |
- ------------+----------- ------------+-----------
- terminal out>> (1, 2)
readint 命令先打印提示信息,再从标准输入中读取一个整数,返回后将其放入栈顶。
- ------------+----------- ------------+-----------
- stack | bind var stack | bind var
- ------------+----------- readint "Input: " ------------+-----------
- ... |<- ---------------> ... |
- ------------+----------- ------------+-----------
- | 2 |<-
- ------------+----------- ------------+-----------
- | |
- ------------+----------- ------------+-----------
- terminal out>> Input: 2