Exception 现有方法无法理解消息
好的,是这样的:Exception 现有方法无法理解消息,exception,smalltalk,pharo,method-declaration,missingmethod,Exception,Smalltalk,Pharo,Method Declaration,Missingmethod,好的,是这样的: receiver selectors 返回 #(#expression #expression: #mondrianLabel #accept: #name) 但是 抛出消息NotUnderstanding 任何IDE如何修复此问题以及导致此问题的原因?您可能正在向类而不是该类的实例发送消息expression 如果对接收器选择器的求值结果为#(#表达式#表达式:#蒙德里安标签#接受:#名称),则接收器很可能是一个类。消息#选择器在类行为上实现,并返回类的实例方法的选择器。
receiver selectors
返回
#(#expression #expression: #mondrianLabel #accept: #name)
但是
抛出消息NotUnderstanding
任何IDE如何修复此问题以及导致此问题的原因?您可能正在向类而不是该类的实例发送消息
expression
如果对接收器选择器的求值结果为#(#表达式#表达式:#蒙德里安标签#接受:#名称)
,则接收器
很可能是一个类。消息#选择器
在类行为
上实现,并返回类的实例方法的选择器。换句话说:类的实例(或其任何子类)理解列出的消息
因此,如果您计算接收器表达式
,然后,您将收到一条消息未被理解异常,因为消息表达式
是在类的实例上定义的,该类是接收器
变量的值。您可能将消息表达式
发送到一个类,而不是该类的实例
如果对接收器选择器的求值结果为#(#表达式#表达式:#蒙德里安标签#接受:#名称)
,则接收器
很可能是一个类。消息#选择器
在类行为
上实现,并返回类的实例方法的选择器。换句话说:类的实例(或其任何子类)理解列出的消息
因此,如果您计算接收器表达式
,然后您将得到一个message not Understanding异常,因为message#表达式
是在类的实例上定义的,该类是您的receiver
变量的值。我认为您最好通过将语句
更改为receiver
来澄清您的问题。这是一个更合适的命名。我认为您最好通过将语句
更改为接收者
来澄清您的问题。这是一个更合适的命名。谢谢。我自己在发帖5分钟后就想出来了,但在此之前我花了大约半个小时来调查……谢谢。我自己在发帖5分钟后就想出来了,但在此之前我花了大约半个小时调查…
receiver expression