Сообщение об ошибке 'addr' не понято в Supercollider 3.9 - PullRequest
0 голосов
/ 29 ноября 2018

Я давно использую 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

1 Ответ

0 голосов
/ 24 января 2019

Невозможно диагностировать проблему без кода, который генерирует ошибку.

В порядке объяснения сообщения об ошибке:

Message 'addr' not understood: это означает метод addrбыл вызван для чего-то, например, something.addr(), у которого нет метода с таким именем.

RECEIVER: Instance of Function: Это означает, что «что-то» является функцией.

Итак, где-тоВы можете передавать функцию в качестве аргумента, когда ожидается некоторый другой тип объекта (что-то, что отвечает .addr, поэтому, вероятно, NetAddr или Server).

...