function - 传递多个参数

标签 function variables module erlang

我正在尝试将现有的 C 函数转换为 Erlang,但在理解它如何工作方面遇到了一些困难。假设我在 C 中有以下函数:

    void(int *x,int *y,int z,int a)
    {
     if(z<a)
      {
     *x = z + a;
     *y = z - a;
      }
     }

我如何在 Erlang 中编写类似的东西作为功能模块?我知道通常你编写函数并且它会返回一个操作。但是如果我必须对多个变量进行计算怎么办?

最佳答案

您可以返回一个元组,例如:{X, Y}

这是一个将作为输入给出的两个值加倍的函数:

-module(my_module).
-export([doubleus/2]).

doubleus(X, Y) ->
    {X*2, Y*2}.

在外壳中:

1> c(my_module).
{ok, my_module}
2> {A, B} = my_module:doubleus(3,4).
{6, 8}

关于function - 传递多个参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12153967/

相关文章:

python - 模块导入自身

swift - 从函数 Swift 4 返回结构

javascript - 使用 for 循环创建多个函数

java - 从 ActionListener 发送变量,以便另一个 ActionListener 可以使用它

variables - 在Python中使用PASS单词作为变量名

c - 系统/类型.h : No such file or directory

recursion - 实现多个仿函数内的递归

php - 删除小数点后两位,不四舍五入

JQuery .load() 问题

c# - 在对象名称中使用变量