Erlang问题,将变量传递给另外两个函数

时间:2017-11-12 00:50:56

标签: erlang

您好我正在尝试创建一个具有函数main_function()的程序,该函数包含两个int变量,然后将变量传递给另外两个函数difference()sum()。我希望这两个函数执行计算并显示结果。反过来调用main_function()中的两个函数中的每一个。但是我目前遇到的问题是我的程序只输出main_function()

中调用的最底层函数

这就是我所拥有的

-module(numbers).
-export([main_function/2]).


main_function(X,Y)->
   sum(X,Y),
   difference(X,Y).

sum(X,Y)->
   X + Y.

difference(X,Y)->
   X - Y.

我的输出为2,如果我要传递5和3分别为X和Y,我的程序似乎只使用difference()函数而不是sum()。我正在寻找8和2的输出。

非常感谢任何帮助

由于

1 个答案:

答案 0 :(得分:1)

您可以像下面那样更改main_function / 2

main_function(X,Y)->
A = sum(X,Y),
B = difference(X,Y),
{A, B}.

当X = 5,Y = 3时,shell中的结果是:

{8, 2}

或者像这样

main_function(X,Y)->
A = sum(X,Y),
B = difference(X,Y),
io:format("A = ~p~nB = ~p~n", [A, B]).

当X = 5,Y = 3时,shell中的结果是:

A = 8
B = 2