Исполнение кода python в ruby без файла

Есть бд с разными фрагментами кода, из них динамически с помощью ruby генерируется python код, в итоге мы получаем строку с python кодом, который нужно исполнить. Как можно это сделать, не создавая файл?


Ответы (1 шт):

Автор решения: Alexander Pushkarev

Вы просто пишите код python в stdout и направляете с помощью pipe в Python:

# предположим у вас есть файл 1.rb
$ echo "
py_code = "print(1)\nprint(2)" #это ваш код на питоне
value = %x( echo "#{py_code}" | python )
puts(value)
" >> 1.rb

$ ruby 1.rb
1
2
→ Ссылка