zoukankan      html  css  js  c++  java
  • Erlang 和 Elixir 互相调用 (转)

    lixr设计目标之一就是要确保兼容性,可以兼容Erlang和其生态系统。Elixir和Erlang 都是运行同样的虚拟机平台(Erlang Virtual Machine)。不管是在Erlang使用Elixir模块,还是在Elixir中使用Erlang模块都是非常方便的。

    Erlang 调用 Elixir 代码

    example.ex 文件代码如下:

    定义了一个Example 模块,其中有一个sum函数返回两个数的和

    defmodule Example do
      def sum(x, y) do
        x + y
      end
    end
    

    要在Erlang可以调用这个模块,首先要编译这个模块到beam文件,beam是编译好的字节码文件
    打开iex,编译这个模块

    iex(1)> c("example.ex")
    [Example]
    iex(2)>
    

    会在当前文件夹下生成 Elixir.Example.beam 文件

    打开erl
    使用l(file)函数加载Elixir写好的模块

    1> l('Elixir.Example').
    {module,'Elixir.Example'}
    2> 'Elixir.Example':sum(2, 3).
    3> 5
    

    Elixir 调用 Erlang 代码

    我们 example.erl 文件代码如下:

    -module (example).
    -export ([sum/2]).
    
    sum(A, B) -> 
        A + B.
    

    可以直接在Elixir的iex中编译

    iex(1)> c("example.erl")
    [:example]
    iex(2)>
    

    也会生成 Elixir.Example.beam 文件

    模块名以冒号开始,执行

     
    iex(2)> :example.sum(2, 3)
    5
    iex(3)>

    转自:https://segmentfault.com/a/1190000000472866
  • 相关阅读:
    python little things
    python unittest
    install Pycrypto on windows
    share directory in virtualbox
    django template设置
    echarts使用记录
    node下图片自动处理
    Mac OS X 访问 Windows 共享文件夹
    django 登录配置记录
    【转】让iframe在iOS设备手机浏览器上支持滚动
  • 原文地址:https://www.cnblogs.com/unqiang/p/9935694.html
Copyright © 2011-2022 走看看