Erlang中函数的返回值

Erlang中函数的返回值,erlang,Erlang,下面的函数将返回什么?好的,原子还是指令 function_test() -> Cmd = os:cmd("ls"), io:format("The result of ls is:~p~n", [Cmd]). 如果它返回ok,那么在仍然使用io:format的情况下,如何将其重新表述为返回Cmd?在Erlang中,将返回函数中的最后一个表达式,在您的情况下,这将是io:format的结果,即ok 要返回Cmd,只需将其作为函数中的最后一个表达式: function_te

下面的函数将返回什么?好的,原子还是指令

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

如果它返回ok,那么在仍然使用io:format的情况下,如何将其重新表述为返回Cmd?

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

要返回
Cmd
,只需将其作为函数中的最后一个表达式:

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

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