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.
