Elixir tuple

 学习新语言的一个途径就是直接上战场。我选择访问数据库入手。

https://github.com/xerions/mariaex

第一步就是建立到Mysql的连接。

@spec start_link(Keyword.t) :: {:ok, pid} | {:error, Mariaex.Error.t | term}
  def start_link(opts) do
    DBConnection.start_link(Protocol, opts)
  end

仅此一行有几个语言现象:

Mariaex.start_link({hostname:"127.0.0.1",username:"root",password:"111111", database:"test"})

Mariaex为模块。类似于其他语言中的包。

def start_link(opts) do ....end 为函数定义。

 @spec 是特殊一点。Elixir是动态语言,这个是补充说明这个函数的规范。可以用于文档和代码分析。但不参与编译过程。没有也可以。

返回值是元组。

比如:{:ok, 3} 就是一个元组。:ok叫做atomic类型,就是名字和值是一个意思。

就像true和false一样。

r = {:ok, 3}

elem(r, 0)

会取到第一个元素的值,如此类推。

https://www.tutorialspoint.com/elixir/elixir_lists_and_tuples.htm

猜你喜欢

转载自my.oschina.net/u/612750/blog/890273