22

我很难理解字符阅读在空白中的工作原理。我能够运行 Hello World 程序。但现在我尝试从用户那里读取一个字符,然后在标准输出上打印它。我没有收到任何错误,一切都编译得很好,但字符没有出现在输出中。我尝试对其进行一些调试,但它在空格中真的很难,我相信它不会打印任何内容,因为我从用户读取的值为 0(或 null)。

这是我阅读角色的方式(我相信它是正确的方式)

start          















end

这里是打印出来的 SSCCE(这应该可以工作,因为它与 Hello World 项目中的几乎相同。

start           


















end

我正在使用 Whitespace 0.3 和 Haskell 编译器 5.02 版

4

1 回答 1

6

下面是一些示例代码,它获取一个字符,将它存储在堆中,立即检索它并打印它:

Command                 Description     Stack   Heap
=======================================================
space space space lf    push 0          0
space lf space          duplicate       0 0
tab lf tab space        get character   0       h[0]=c
tab tab tab             retrieve        c       h[0]=c
tab lf space space      put character           h[0]=c
lf lf lf                exit
于 2013-12-28T21:18:21.460 回答