`
litaocheng
  • 浏览: 337725 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Fun定义

阅读更多
Fun定义

fun
   (Pattern1, ..., PatternN) [when GuardSeq1] ->
       Body1;
    ....
   (PatternK1, ..., PatternKN) [when GuardSeqK] ->
       BodyK
end


也可以依据已经定义的函数定义声明fun
fun Name/Arity
fun Module:Name/Arity


对于第一种形式没有指定Module,其会隐式的判断对应的Module,可能是import的Module,也可能是当前Module。(注意:推荐不要使用import,容易混淆,同时使用Module:Name/Arity可以保证加载的代码总是最新版本的代码)

其实以上只是一个语法糖,等同于下面的形式:

fun(Arg1, Arg2, ...) -> Module:Name/Arity(Arg1, Arg2, ...) end


对于fun调用可以采用多种形式,比如我们要将L2 [3, 4]追加到L1 [1, 2]:
[list=1]
1, Fun1 = fun(L1, L2) -> lists:append(L1, L2) end, Fun1([1, 2], [3, 4]).
2, fun(L1, L2) -> lists:append(L1, L2)([1, 2], [3, 4]).
3, Fun2 = {lists, append}, Fun2([1, 2], [3, 4]).(不推荐使用)
4, fun lists:append/2([1, 2], [3, 4])
[/list]

分享到:
评论

相关推荐

    定义fun函数.wen.py

    定义fun函数.wen.py

    matlab积分函数的区别

    函数句柄fun定义了被积函数,a和b分别是积分的下限和上限。tol是误差容忍度,如果积分结果满足此误差,则停止计算。如果函数在积分区间内有奇异点,可能会遇到警告,如最小步长达到、函数调用次数过多或遇到非数字函...

    FUN3D手册,非结构求解器的编译过程及其后处理

    控制参数文件对于FUN3D的运行至关重要,它定义了计算的具体细节,如求解方程、初始条件、边界条件、时间步长等。用户需要根据具体的计算任务调整这些参数。 **3.4 CFD计算过程及输出文件** FUN3D计算过程中会生成...

    fun.zip_Fun_ Fun_ Fun

    这段代码定义了一个`find_combinations`函数,它接受当前的总和`current_sum`,起始数字`start`以及组合列表`combinations`作为参数。函数通过递归地尝试所有可能的数字组合来找到满足条件的组合。`all_combinations...

    matlab开发-structfun2

    - `fun`:这是用户定义的二元函数,例如 `@plus`、`@times` 等,用于执行字段间的运算。 - `S1` 和 `S2`:这两个是结构数组,它们的字段名必须完全匹配,且字段数量相同。`structfun2` 将对这些结构的相应字段应用 `...

    FUN.rar_Fun_ Fun_ Fun

    在"FUN"这个软件中,首先需要定义待优化的函数。这可以是一个多维的连续函数,例如二维的Rosenbrock函数或三维的Sphere函数,这些函数通常具有多个局部极小值和一个全局最小值,为测试遗传算法的有效性提供了良好的...

    vc.zip_Fun_ Fun_ Fun

    在这个示例中,我们定义了一个名为`fun`的函数,它接受一个空的`std::vector<int>`类型的引用`a`,并返回一个整数`n`,表示符合条件的数字的数量。在`main`函数中,我们调用`fun`函数,然后打印出数组`a`中的所有...

    PSO.zip_Fun_ Fun_ Fun

    在这个程序中,我们需要定义粒子的数量、迭代次数、惯性权重、加速常数等参数,并调用"fun"函数来评估每个粒子的新位置。在迭代过程中,算法会不断更新粒子的速度和位置,直至找到最优解或达到预设的迭代次数。 总...

    MFC_Test_Fun.rar_Fun_ Fun_ Fun_mfc添加函数

    本文将深入探讨如何在MFC应用中添加自定义函数,以实现"Fun Fun Fun"的功能。首先,让我们了解MFC的基本结构,然后详细描述添加新函数的步骤。 MFC是微软提供的一个C++类库,它基于Windows API,用于构建图形用户...

    PSO.rar_Fun_ Fun_ Fun_PSO_群算法

    2. **main.m**:这是主程序文件,它调用了PSO0.m中的函数,并可能包含了用户定义的"fun"函数,用于定义待优化问题,以及算法的初始化设置,如粒子数量、迭代次数、学习因子等参数。 **粒子群优化(PSO)算法详解:*...

    fun_stft.rar_Fun_ Fun_ Fun_STFT matlab程序

    2. **定义参数**:包括窗长(决定频率分辨率),步长(决定时间分辨率)以及频率轴的采样率。 3. **循环计算**:对信号的每个子段应用窗口函数,然后对每个子段执行快速傅里叶变换(FFT)。 4. **构建STFT矩阵**:...

    two-order-fun.rar_Fun_ Fun_ Fun

    开发者可能会定义复数结构体,包含实部和虚部两个浮点数,并自定义相应的加减乘除等操作。在求解一元二次方程时,如果判别式小于零,程序将根据公式计算出复数解,并以适当的方式输出,如"(x+yi)"的形式。 这个程序...

    Calculate.rar_Fun_ Fun_ Fun_calculate函数

    # 定义级数的参数,例如首项a0、公差an、项数n a0 = ... an = ... n = ... # 初始化级数和为零 series_sum = 0 # 使用循环计算级数和 for i in range(n): term = a0 + i * an # 计算第i项的值 series_...

    c_fun_program.rar_Fun_ Fun_ Fun

    在"C_fun_program.rar_Fun_Fun_Fun"这个压缩包中,我们找到了一个名为"c_fun_program.CHM"的文件。CHM是Compiled Help Manual(编译帮助手册)的格式,通常用于存储各种技术文档和教程。这个文件很可能包含了C语言的...

    List_fun_7.zip_Fun_ Fun_ Fun

    代码分析可以帮助我们理解具体实现细节,例如节点定义、链表遍历、分类逻辑以及循环链表的构建等。 总的来说,这个任务涉及到链表数据结构的深入理解和熟练操作,包括节点的创建、遍历、分类、循环链表的构建和合并...

    Coding4Fun.Kinect.Toolkit

    [Content_Types].xml文件是ZIP压缩格式的标准内容类型定义文件,它描述了压缩包内各个文件的类型和对应的处理方式。在 Coding4Fun.Kinect.Toolkit 的压缩包中,这个文件起到了索引和指导的作用,帮助解压程序正确...

    PSO 程序.rar_Fun_ Fun_ Fun_PSOV2 修改_pso matlab_全局粒子群

    Fun_ Fun_ Fun_PSOV2 修改_pso matlab_全局粒子群”指的是一个使用MATLAB实现的粒子群优化(PSO,Particle Swarm Optimization)算法的程序,其中涉及到了对函数"fun"的修改,可能是用于定义目标函数或者适应度函数...

    java 首先定义一个父类计算如下表达式:

    ### 一、定义父类 `S` 在Java中,可以通过创建类来实现特定功能的封装。本案例中的父类`S`用于计算序列`S=1+1/2!+1/3!+…+1/n!`。 #### 1. 类的定义 ```java class S { int i, n; double f = 1, s = 0; // ...

    傅里叶级数系数​​:计算傅里叶级数系数​​和幅度和相位谱。-matlab开发

    计算函数的级数展开的傅立叶系数,以及幅度谱和相位谱。 该脚本包含一些理论和 3 种不同的计算系数的方法... 必须为 [T0,T0+T] 定义 FUN - T0:FUN定义的初始“t” - T:函数的周期- M:频率数(默认值:5) - N:每个

    matlab-RBF.zip_Fun_ Fun_ Fun_RBF S函数_RBF control robot_robot mdl

    标题中的“matlab-RBF.zip_Fun_ Fun_ Fun_RBF S函数_RBF control robot_robot mdl”揭示了这个压缩包包含的是与Matlab相关的RBF(Radial Basis Function,径向基函数)控制算法,特别是针对机器人的应用。...

Global site tag (gtag.js) - Google Analytics