метод для обработки строки как имя объекта в IO? - PullRequest
1 голос
/ 09 декабря 2011

В Io есть метод getSlot(), который позволяет преобразовать строку в ссылку на слот, но есть ли что-то похожее для получения ссылки на объект?Например:

myObject := Object clone
myObject myMethod := method("Hello World!" println)

targetObject := "myObject"
a := getObject(targetObject) clone

getObject() не существует, так что же может пойти на его место так, что «a» окажется клоном myObject?

1 Ответ

4 голосов
/ 09 декабря 2011

Вы на самом деле ответили сами!

В Io у вас есть объекты, у которых есть слоты, и эти слоты могут быть самими объектами.
Поэтому, чтобы ваш код работал правильно, вы просто вызываете getSlot в текущей области видимости.

myObject := Object clone
myObject myMethod := method("Hello World!" println)

targetObject := "myObject"
a := getSlot(targetObject) clone
a myMethod
==> Hello World!
...