3.5 输入及输出命令

print / readint 命令,用法如下:

  1. print "Hello world" ; 输出:Hello world
  2.  
  3. push 1
  4. push 2 ; 相当于 print("(%d, %d)", 1, 2);
  5. print "(%d, %d)" ; 输出:(1, 2)
  6.  
  7. readint "Input: "
  8. pop x ; 相当于 x = readint("Input: ");

print 命令会根据字符串的 “ %d ” 依次将栈顶元素取出,并打印出来,也就是说,上面第二个例子中 print 命令之前入栈的两个参数 1 和 2 ,在 print 后都将出栈。另外注意:参数的入栈的顺序需要从左向右入栈。

  1. ------------+----------- ------------+-----------
  2. stack | bind var stack | bind var
  3. ------------+----------- print "(%d, %d)" ------------+-----------
  4. ... | ---------------> ... |<-
  5. ------------+----------- ------------+-----------
  6. 1 | |
  7. ------------+----------- ------------+-----------
  8. 2 |<- |
  9. ------------+----------- ------------+-----------
  10.  
  11. terminal out>> (1, 2)

readint 命令先打印提示信息,再从标准输入中读取一个整数,返回后将其放入栈顶。

  1. ------------+----------- ------------+-----------
  2. stack | bind var stack | bind var
  3. ------------+----------- readint "Input: " ------------+-----------
  4. ... |<- ---------------> ... |
  5. ------------+----------- ------------+-----------
  6. | 2 |<-
  7. ------------+----------- ------------+-----------
  8. | |
  9. ------------+----------- ------------+-----------
  10.  
  11. terminal out>> Input: 2