(1)我认为问题在于go的递归调用,它通过在getChar之前调用hReady来惰性地进行评估;这意味着hReady一直返回true,堆栈将永远增长。这可信吗?(2)我习惯于这样做会很快导致堆栈溢出异常的语言,因此它不会妨碍我的工作。有什么普通的方法来防止这种大规模的内存泄漏吗?也许在记忆使用上有一个严格的限制?:: IO [Char] let go char
但就目前而言,由于我是这门语言的新手,我想我应该满足于没有那个索引错误。#!io.write('Hello, where would you like to go?\n')io.write('you want to go to ',s,'\n')location = {Hello, where would you like t