我已经使用Supercollider 3.8很长时间了,因此决定将版本更改为3.9.3, 但这给我们带来了问题,当前script.scd返回以下错误:
ERROR: Message 'addr' not understood.
RECEIVER:
Instance of Function { (0000022C4663FF48, gc=8C, fmt=00, flg=00, set=02)
instance variables [2]
def : instance of FunctionDef - closed
context : Frame (0000022C45014BD8) of Interpreter:functionCompileContext
}
ARGS:
CALL STACK:
DoesNotUnderstandError:reportError
arg this = <instance of DoesNotUnderstandError>
Nil:handleError
arg this = nil
arg error = <instance of DoesNotUnderstandError>
Thread:handleError
arg this = <instance of Thread>
arg error = <instance of DoesNotUnderstandError>
Object:throw
arg this = <instance of DoesNotUnderstandError>
Object:doesNotUnderstand
arg this = <instance of Function>
arg selector = 'addr'
arg args = [*0]
OSCFuncAddrMessageMatcher:value
arg this = <instance of OSCFuncAddrMessageMatcher>
arg msg = [*33]
arg time = 161.0420767
arg testAddr = <instance of NetAddr>
arg recvPort = 57121
OSCMessageDispatcher:value
arg this = <instance of OSCMessageDispatcher>
arg msg = [*33]
arg time = 161.0420767
arg addr = <instance of NetAddr>
arg recvPort = 57121
Main:recvOSCmessage
arg this = <instance of Main>
arg time = 161.0420767
arg replyAddr = <instance of NetAddr>
arg recvPort = 57121
arg msg = [*33]
^^ The preceding error dump is for ERROR: Message 'addr' not understood.
RECEIVER: a Function
答案 0 :(得分:0)
如果没有生成错误的代码,就不可能诊断出问题。
通过错误消息的解释方式:
Message 'addr' not understood
:
这意味着方法addr
在某处被调用,例如something.addr()
没有该名称的方法。
RECEIVER:
Instance of Function
:
这意味着“某物”是一个功能。
因此,在某个地方,您可能会传递一个函数作为参数,在该参数中,可能需要其他类型的对象(响应.addr
的对象,因此可能是NetAddr
或Server
)。