您的位置:首页 > 编程语言 > Ruby

erlang和ruby互相调用

2015-06-25 10:21 288 查看
erlang调用ruby

https://github.com/mojombo/erlectricity


ruby调用erlang

https://github.com/davebryson/rinterface


安装

gem install rinterface


注意:

节点名必须是sname


示例代码

ruby的

require 'rinterface'

r = Erlang::Node.rpc("math","math_server","add",[10,20])

if r[0] == :badrpc
puts "Got and Error. Reason #{r[1]}"
else
puts "Success: #{r[1]}"
end


erlang的

-module(math_server).
-export([start/0,add/2]).

start() ->
register(?MODULE,spawn(fun() -> loop() end)).

add(X,Y) ->
?MODULE ! {self(),add,X,Y},
receive
{?MODULE,Response} -> Response
end.

loop() ->
receive
{From,add,X,Y} ->
error_logger:info_msg("Got the request, and doing the add...~n"),
Sum = X+Y,
From ! {?MODULE,Sum},
loop();
Any ->
error_logger:info_msg("Got a crazy msg: ~p~n",[Any]),
loop()
end.


亲测可用
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: