【问题标题】:Return value of a function in ErlangErlang中函数的返回值
【发布时间】:2018-12-06 20:23:59
【问题描述】:

下面的函数会返回什么? ok atom 还是 Cmd?

function_test() ->
    Cmd = os:cmd("ls"),
    io:format("The result of ls is:~p~n", [Cmd]).

如果它返回 ok 那么它应该如何改写为在仍然使用 io:format 的同时返回 Cmd?

【问题讨论】:

  • 请注意,打印值和返回值是完全不同的两件事。这里您打印 Cmd 的值,但您返回 io:format 返回的值,即ok

标签: erlang


【解决方案1】:

在 Erlang 中返回函数中的最后一个表达式,在您的情况下,这将是 io:format 的结果,即 ok

要返回Cmd,您可以简单地将其设为函数中的最后一个表达式:

function_test() ->
    Cmd = os:cmd("ls"),
    io:format("The result of ls is:~p~n", [Cmd]),
    Cmd.

【讨论】:

    猜你喜欢
    • 2020-08-11
    • 2010-12-24
    • 2017-06-23
    • 1970-01-01
    • 1970-01-01
    • 2019-06-14
    • 1970-01-01
    • 2010-09-15
    相关资源
    最近更新 更多