Julia 函数高级特性与参数传递详解
1. 一等对象
在 Julia 中,函数是一等对象,这意味着它们可以被赋值给其他标识符、作为参数传递给其他函数、作为其他函数的返回值、存储在集合中,还能在运行时应用(映射)到一组值上。
参数列表由一组虚拟变量组成,使用 () 表示法的数据结构称为元组。默认情况下,参数类型为 {Any} ,但也可以指定显式的参数类型,这有助于编译器分配内存并优化生成的代码。
例如:
sq(x) = x*x;
sq("Hello") ; # => HelloHello
这里 sq() 函数对字符串也适用,因为 * 运算符用于字符串拼接。这是 Julia 使用多重派发重载函数的一个例子。
也可以重载字符串的 + 运算符,但由于它是 Base 的一部分,需要先导入:
import Base.+
+(s1::String,s2::String) = s1*s2; # or else string(s1,s2)
"Hello"+" World" # "Hello World"
要将函数应用到一组值上,可以使用 map() 构造:
超级会员免费看
订阅专栏 解锁全文
2219

被折叠的 条评论
为什么被折叠?



