Как напечатать HyExpression в Python?

Как напечатать объект HyExpression как

HyExpression([
    HyExpression([
      HySymbol('/'),
      HyInteger(2)]),
    HyExpression([
      HyString('ceil')])])

как

'((/ 2) ("ceil"))'

в консоли?

1 ответ

Ах! Я нашел ответ, и его следующим образом hy_repr!

просто используйте в.py

from hy.contrib.hy_repr import hy_repr

input_rule_list = '["?" ((/ 2) ("ceil"))]'
expr_input_list = hy.read_str(input_rule_list) #HyExpression 

#do something with this expr

print(hy_repr(expr_rule_parsed))

(cond [((get predicators "?") ) [((/ 2)) (("ceil"))]])

Здорово!

Другие вопросы по тегам