3

如何将对象 HyExpression 打印为

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

作为

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

在控制台?

4

1 回答 1

4

啊!我找到了答案,它如下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"))]])

凉爽的!

于 2018-08-02T13:28:45.370 回答