我正在 Erlang 中开发一个游戏,现在我需要读取标准输入。我尝试了以下调用:
io:fread()
io:read()
问题是当它包含空格时我无法读取整个字符串。所以我有以下问题:
- 当用户按下回车键时,如何读取用户输入的字符串? (请记住该字符串包含空格)
- 如何将“56”这样的字符串转换为数字 56?
读取行
您可以使用io:get_line/1从控制台获取以换行符结尾的字符串。
3> io:get_line("Prompt> ").
Prompt> hello world how are you?
"hello world how are you?\n"
io:read
将为您提供 erlang 术语,因此您无法读取字符串,除非您想让用户将字符串括在引号中。
模式在io:fread
似乎不允许您读取包含空格的任意长度的字符串。
解析整数
你可以转换"56"
to 56
using erlang:list_to_integer/1.
5> erlang:list_to_integer("56").
56
或使用string:to_integer/1这也会返回字符串的其余部分
10> string:to_integer("56hello").
{56,"hello"}
11> string:to_integer("56").
{56,[]}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)