Допустим, у меня есть:использование Создание полей объекта перечисляются неявных в блоке кода
foo: object [bar: 10]
print foo/bar ;-- output 10
Есть некоторые ххх за слова:
foo: object [bar: 10]
xxx foo [
print bar ;-- output 10
]
Binding будет работать, но это некрасиво (ставит ссылку на объект после блока), и вы должны позвонить DO:
foo: object [bar: 10]
do bind [
print bar ;-- output 10
] foo
(Он также мутирует параметр блока по умолчанию ... который, вероятно, не является хорошим общим свойством для искомого xxx.)
ИСПОЛЬЗОВАНИЕ может показаться хорошим словом для xxx, но оно взято для чего-то еще уже: это позволяет объявить слова внутри локального контекста, оставляя прежние определения только этого слова:
foo: object [bar: 10]
use [foo] [
foo: object [bar: 20]
print foo/bar ;-- prints 20
]
print foo/bar ;-- prints 10
ли уже что-то делать, что я хочу в поле, или же нужно писать? WITH может быть хорошим именем, с других языков с параллельной функцией.
Один из вариантов заключается в том, чтобы сделать его продолжением использования ... возможно, что он сделал, если вы дали ему GET-WORD! в списке.
Правильно ... но вам все еще нужно делать. * (Я на самом деле добавил «вот как вы это сделаете с привязкой после написания остальной части вопроса.) * Удивление, была ли какая-либо конструкция без необходимости. – HostileFork