を動作しませんRPython sysの方法は、私は次のコードを持っている
...
[translation:ERROR] Exception: unexpected prebuilt constant: <built-in function exit>
[translation:ERROR] Processing block:
[translation:ERROR] [email protected] is a <class 'pypy.objspace.flow.flowcontext.SpamBlock'>
[translation:ERROR] in (t:3)entry_point
[translation:ERROR] containing the following operations:
[translation:ERROR] v0 = simple_call((builtin_function_or_method exit), (1))
[translation:ERROR] --end--
エラーに多くが実際にありましたが、この最後の部分だけが関係していると思った。それ以上のことが役に立つと思うなら、コメントして編集します。
実際、sys.exitをsys.stdout.writeのようなもっと簡単なものに置き換えると、別のエラーが発生します。
import sys
def entry_point(argv):
sys.stdout.write('some mesg\n')
return 0
def target(*args):
return entry_point, None
は私を与える:
...
[translation:ERROR] AnnotatorError: annotation of v0 degenerated to SomeObject()
[translation:ERROR] v0 = getattr((module sys), ('stdout'))
[translation:ERROR]
[translation:ERROR] In <FunctionGraph of (t:3)entry_point at 0x10d03de10>:
[translation:ERROR] Happened at file t.py line 4
[translation:ERROR]
[translation:ERROR] ==> sys.stdout.write('some mesg\n')
[translation:ERROR]
[translation:ERROR] Previous annotation:
[translation:ERROR] (none)
[translation:ERROR] Processing block:
[translation:ERROR] [email protected] is a <class 'pypy.objspace.flow.flowcontext.SpamBlock'>
[translation:ERROR] in (t:3)entry_point
[translation:ERROR] containing the following operations:
[translation:ERROR] v0 = getattr((module sys), ('stdout'))
[translation:ERROR] v1 = getattr(v0, ('write'))
[translation:ERROR] v2 = simple_call(v1, ('some mesg\n'))
[translation:ERROR] --end--
は単にRPythonのため立ち入り禁止のsys方法はありますか? exitとstdoutはCで簡単に利用できるので私には奇妙なようです。しかし、エラーメッセージの種類はそれぞれ違うかもしれないので、間違ったツリーを吠えるかもしれません。
現在、私はthisガイドを使用して、RPythonで許可されているものと許可されていないものを大まかに把握しています。より多くの情報のために私が使用することができる他のアクセスしやすい参照がありますか?
申し訳ありませんが、最後の例が間違っていることを指摘してください: 'sys.std.write'を' sys.stdout.write'で置き換えてください。 'sys.std 'である。 – mouad
@mouadそれを指摘してくれてありがとう。私はもう一度試して、更新されたエラーメッセージを投稿しました。 – math4tots