новости сообщество форум вики полезно

Pytherl — используйте питон из Erlang'а

01/10/2010 16:13

Pytherl — то небольшая бибилотека на C/Erlang'е, которая позволяет использовать код, написанный на Python'е, из программ, написанных на Erlang'е.

Пример использования:

Инициализируем pytherl:

pytherl:init().

Вызываем команду

pytherl:call(ImportMods, Command, Args)

Например,

pytherl:call("re", "re.sub", ["Erlang", "Python", "Hello from Erlang!"]).

Что эквивалентно

import re

re.sub("Erlang", "Python", "Hello from Erlang!")

Библиотека так же позволяет конвертировать Питоновские объекты в proplists. Предположим, у нас есть пакет pytherl, в котором есть файл pytherl, содержащий следующий код:

class Foo():
    bar = 1
    string = "string"
    some_list = [1, "c"]

def get_foo():
    return Foo()

Функцию get_foo можно вызвать следующим образом:

2> pytherl:call(["pytherl", "pytherl"], "pytherl.pytherl.get_foo", []).
[{some_list,[1,"c"]},{bar,1},{string,"string"}]

Библиотека так же позволяет исполнять любой код на Питоне. Достаточно просто вызвать следующую функцию:

pytherl:eval(Code, ResultVarName)

Например,

3> pytherl:eval("a = 1+1", "a").
2

Эта строка выполнит переданный код и вернет значение переменной a.


 
 
 
 

так же

Ссылки

См. также

twitter