Показать сообщение отдельно
  #8 (permalink)  
Старый 07.02.2009, 18:35
...
Отправить личное сообщение для Zeroglif Посмотреть профиль Найти все сообщения от Zeroglif
 
Регистрация: 09.03.2008
Сообщений: 216

Аргументом в VB.func приходит строка, допустим, 'Int', вам нужно сразу проверить наличие одноимённого метода - если if(VB[func]) {...}, то сразу вернуть VB[func], если нет, то ваш этот eval через Function с одновременным созданием отсутствующего метода, который и возвращается как-нибудь так - return (VB[func] = Function(...)). Соответственно, последующие вызовы с этим аргументом VB.func('Int') не приведут к созданию функции...

Цитата:
Если VB[func]=f, это же не значит что VB.f теперь объявится, всего лишь станет VB.func == f.
Будет создан метод объекта VB с именем, взятым из func и значением из f.
Ответить с цитированием