Как посмотреть код изображения в GNU Smalltalk? - PullRequest
2 голосов
/ 10 июня 2011

как посмотреть код класса / сообщения из интерфейса командной строки GST?Я знаю только сообщение #inspect, но оно показывает только определение или краткое изложение объекта, а не код.

1 Ответ

3 голосов
/ 10 июня 2011

Вы можете использовать метод methodSourceString, например

st>(Object >> #printNl) methodSourceString
'printNl [
        "Print a represention of the receiver on stdout, put a new line
         the Transcript (stdout the GUI is not active)"

        <category: ''printing''>
        Transcript showCr: self printString
    ]'

Однако строка будет напечатана в двойных кавычках, что может быть неудобно для нетривиального кода.

Часто проще просто использовать текстовый редактор, потому что почти всегда классы содержатся в одном файле. Вы также можете запросить имя файла из REPL:

st> Object methodDictionary anyOne methodSourceCode file
<File /usr/share/smalltalk/kernel/Object.st>
...