-1

これが私のコードです:

from SimPy.Simulation import *

class Message(Process):
    def arrive(self, destination):
        yield hold, self, 2
        try:
            print "%s %s going to %s" % (now(), self.name, destination.name)
            self.interrupt(destination)
        except NameError, x:
            print "%s is out of reach" % x

私がやりたいのは、名前が存在しない場合に宛先に到達できないことを印刷することですが、それでも通常のPythonエラーが発生します。

Traceback (most recent call last):
  File "<pyshell#22>", line 1, in <module>
    message.arrive(node2)
NameError: name 'node2' is not defined
4

1 に答える 1

0

メソッドで名前エラーは発生しません。メソッドが呼び出されるに発生します。

node2Pythonは、の値をメソッドに渡す前node2message.arrive()解決を試みます。メソッドコードは実行されません。

シェルに入力しただけで同じエラーが発生node2します。定義していないため、Pythonはその値の使用方法もわかりません。

于 2013-03-24T12:28:23.853 に答える