Я пишу программу EDA, опираясь на API, совместимый с TCL 8.6. Моя задача заключается в следующем:
Моя утилита работает с моделями транзисторов в базе данных и делает некоторый анализ, используя команду API TCL для поставщиков EDA. Я могу передать командам TCL имя/указатель процедуры TCL, и анализ будет полагаться на мой код, а не на код поставщика EDA. Внутренний письменный proc принимает в качестве аргумента указатель на конкретный экземпляр транзистора в базе данных поставщика EDA. Теперь поставщик EDA допускает TCL 8.6, что означает, что я хочу передать, а не глобальное имя proc, или имя проса имени пространства имен, имя/указатель имени конкретного объекта. Как мне это сделать? В примере кода:Передайте метод конкретного объекта в качестве входного аргумента в Tcl
oo:class create foo {
constructor {} {
variable numy 2
}
method fooshta { mos_pointer } {
puts "now in mosy [get name $mos_pointer ]"
}
destructor {}
}
foo create bar
analyse_tx -proc < how do I refer to bar's method fooshta?>
В не контексте ООП, код будет выглядеть следующим образом:
proc fooshta { mos_pointer } {
puts "now in mosy [get name $mos_pointer ]"
}
analyse_tx -proc fooshta
Как можно видеть, я ищу ответ на < how do I refer to bar's method fooshta, so that the EDA tool will invoke it for each transistors' instance? and pass the parameter?>
Спасибо.
1. wow 2.Спасибо, я попрошу поставщика EDA расширить интерфейс. – user1134991
Поскольку вы можете легко сделать псевдонимы делегатов, вам не нужно, чтобы продавец сотрудничал. ;-) –
Я этого не делаю. Но если я смогу заставить продавца работать усерднее, может также ... мы платим ему достаточно. – user1134991