如果在Ubuntu上安裝自助使用上http://selflanguage.org/文件,那麼我們就可以用關於自我語言,我們如何在虛擬機上運行代碼?
$ Self
Self Virtual Machine Version 4.1.13, Sat 20 Feb 10 22:39:48 Linux
Copyright 1989-2003: The Self Group (type _Credits for credits)
for I386: LogVMMessages = true
for I386: PrintScriptName = true
for I386: Inline = true
for I386: SICDeferUncommonBranches = false (not implemented)
for I386: SICReplaceOnStack = false (not implemented)
for I386: SaveOutgoingArgumentsOfPatchedFrames = true
然而,一些簡單的線條不能運行:
VM# 'Hello, World!' print.
A lookup error happened while sending the message
print
to
'Hello, World!'.
Subsequently, the lookup error message
undefinedSelector:Receiver:Type:Delegatee:MethodHolder:Arguments:
was sent to
<0>,
and was also not understood, causing the process to be aborted by the Self VM.
#0 (<error>:1): print = (| self* = 'Hello, World!'. delegatee = nil. selector = 'print'. |
"undefined selector error;
this method was automatically generated by the VM."
)
#1 (<stdin>:1): <top level expr> = (| self* = lobby. | 'Hello, World!' print)
或者另一個嘗試的插槽:
VM# _AddSlots: (| vehicle <- (|parent* = traits clonable|) |).
A lookup error happened while sending the message
traits
to
lobby.
Subsequently, the lookup error message
undefinedSelector:Receiver:Type:Delegatee:MethodHolder:Arguments:
was sent to
<0>,
and was also not understood, causing the process to be aborted by the Self VM.
#0 (<error>:1): traits = (| self* = lobby. delegatee = nil. selector = 'traits'. |
"undefined selector error;
this method was automatically generated by the VM."
)
#1 (<stdin>:1): <top level expr> = (| self* = lobby. | traits clonable)
^
Self VM error: couldn't construct object literal on line 1, character 30
^
Self VM error: couldn't construct object literal on line 1, character 16
VM#
有人知道如何使它工作嗎?