Movatterモバイル変換


[0]ホーム

URL:


跳转到内容
维基百科自由的百科全书
搜索

Elixir (编程语言)

本页使用了标题或全文手工转换
维基百科,自由的百科全书
Elixir
编程范型多范式函数式并行式面向进程同像性
发行时间2012年,​13年前​(2012
当前版本
  • 1.18.4(2025年5月21日;穩定版本)[1]
編輯維基數據鏈接
型態系統动态类型强类型
許可證Apache License
文件扩展名.ex、.exs
網站elixir-lang.org
受影响于
ClojureErlangRuby

Elixir是一个基于Erlang虚拟机函数式、面向并行的通用编程语言。Elixir以Erlang为基础,支持分布式、高容错、实时应用程序的开发,亦可通过实现元编程对其进行扩展,并通过协议支持多态[2]

历史

[编辑]

José Valim是Elixir语言的设计者。他创造该语言的目标是在维持与现有Erlang工具链及生态环境兼容性的同时,让人们可以在Erlang虚拟机上进行扩展性更好的、高生产率的开发。[3]

特性

[编辑]

示例

[编辑]

以下示例可以在iex shell中运行或保存在文件中,并通过命令行键入命令运行elixir<filename>.

经典的Hello world 例子:

iex>IO.puts("Hello World!")Hello World!

Enumerable 推导

iex>forn<-[1,2,3,4,5],rem(n,2)==1,do:n*n[1, 9, 25]

模式匹配(解构)

iex>[1,a]=[1,2]iex>a2iex>{:ok,[hello:a]}={:ok,[hello:"world"]}iex>a"world"

模式匹配(多子句)

iex>caseFile.read("path/to/file")doiex>{:ok,contents}->IO.puts("found file:#{contents}")iex>{:error,reason}->IO.puts("missing file:#{reason}")iex>end

管道操作符

iex>"1"|>String.to_integer()|>Kernel.*(2)2

模块

defmoduleFundodeffib(0),do:0deffib(1),do:1deffib(n),do:fib(n-2)+fib(n-1)end

顺序产生1000个进程

fornum<-1..1000,do:spawnfn->IO.puts("#{num*2}")end

执行异步任务

task=Task.asyncfn->perform_complex_action()endother_time_consuming_action()Task.awaittask

参考资料

[编辑]
  1. ^1.01.1Release 1.18.4. 2025年5月21日 [2025年5月25日]. 
  2. ^Elixir. José Valim. [2013-02-17]. (原始内容存档于2017-09-30). 
  3. ^Elixir - A modern approach to programming for the Erlang VM. [2013-02-17]. (原始内容存档于2012-11-29). 

外部链接

[编辑]
范型
过程式
面向对象
多范型
函数式
逻辑式
脚本语言
动态语言
Shell语言
ECMA-262
特定平台
.NET
JVM
特定领域
科学计算
GPU计算
数据查询
可视化
传媒设计
其它
检索自“https://zh.wikipedia.org/w/index.php?title=Elixir_(编程语言)&oldid=82996127
分类:​
隐藏分类:​

[8]ページ先頭

©2009-2025 Movatter.jp