我正在7 周内尝试来自 7 种语言的以下示例:
Object ancestors := method(
prototype := self proto
if(prototype != Object,
writeln("Slots of ", prototype type, "\n---------------")
prototype slotNames foreach(slotName, writeln(slotName))
writeln
prototype ancestors))
如果我将代码与示例的其余部分(例如animals.io
)一起放在一个文件中并通过命令行执行它,io animals.io
那么它会按预期工作。
但是,如果我尝试手动键入该方法并为任何对象执行它,我会收到以下错误:
Exception: Object does not respond to 'prototype'
---------
Object prototype Command Line 1
Object ancestors Command Line 1
是否可以通过交互式解释器输入这种多行方法?