我是Erlang的新手,我已经尝试过一些Erlang构造。我的程序应该是这样的:
if x == 42:
print "Hi"
else:
print "Hello"下面是我用Erlang编写的代码
-module(tested).
-export([main/0]).
main() ->
{ok, X} = io:fread("","~d"),
case X == 42 of
true -> io:fwrite("Hi\n");
false -> io:fwrite("Hello\n")
end.提前感谢您的帮助。
发布于 2010-09-22 00:43:11
使用{ok, [X]} = io:fread("","~d") (用括号括起X)。
fread返回一个列表作为元组的第二个元素(这在读取多个标记的情况下很有意义),因此在将其与42进行比较之前,您需要从列表中获取该元素。
请注意,您可以简单地对X本身进行模式匹配,而不是对==的结果进行模式匹配,即:
case X of
42 -> io:fwrite("Hi\n");
_ -> io:fwrite("Hello\n")
end.https://stackoverflow.com/questions/3762433
复制相似问题