这是我的编译器课程的第二周,我被分配了一个语法突出显示工具。由于我是Standard ML的新手,因此我尝试打印以下内容:print("\033[1;31m hello world\n");
。在C / C ++中,这种类型的语句可以正常工作,即,它产生彩色输出,而在SML中,它只是打印它们。请帮帮我。
答案 0 :(得分:2)
问题可能是八进制表示法的\033
转义序列。八进制数字是SML不支持的类似C的语言的旧功能。您可以使用十进制(\027
)或十六进制(\u001b
)表示法。
还值得注意的是,您打算使用的控制序列不是相应语言的功能。而是由程序将在其中运行并输出到的 terminal 解释它们。特别是只有带有ANSI / VT100 emulation的终端才能理解这一点。