Elixir编程:乐趣与高效并存
1. Elixir简介
Elixir由José Valim开发,旨在实现高扩展性和高生产力,它构建于Erlang函数式语言坚实的虚拟机之上。其现代的语法让函数式编程变得时尚,Pinterest是Elixir的早期用户之一。
Elixir是一种运行在Erlang虚拟机(Beam)上的函数式编程语言,具有类似Ruby的语法,支持协议(用于在不改变模块源代码的情况下扩展模块)、宏和强大的元编程。由于借鉴了其他语言的经验,它拥有许多现代特性,例如宏具有词法作用域,避免了元编程对全局执行环境的干扰。
运行在Erlang VM上,Elixir与现有的Erlang代码完全兼容,这意味着可以利用Erlang的高可用性、高并发和分布式特性,还能使用数千个现有的Erlang库,包括内置库和第三方库。特别是,Elixir可以在OTP框架内运行。
2. 示例代码:计算列表元素之和
以下代码用于计算列表中元素的总和:
# elixir/sum.ex
defmodule MyList do
def sum([]), do: 0
def sum([ head | tail ]), do: head + sum(tail)
end
IO.puts MyList.sum [1,2,3] #=> 6
sum 函数位于 MyList 模块中,该函数通过两个子句定义。那么,Elixir如何知道调用哪个子句呢?这就涉及到了模式匹配。
超级会员免费看
订阅专栏 解锁全文
765

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



