Объектно-ориентированный TCL - PullRequest
2 голосов
/ 29 мая 2009

Какая объектно-ориентированная система в TCL считается стандартной?

Ответы [ 5 ]

3 голосов
/ 03 октября 2010

Tcl 8.6 поставляется со встроенным TclOO (который происходит от довольно многих других ОО-систем) и версией [incr Tcl] в качестве дополнительного пакета расширений. В то время как я ожидаю, что люди в конечном итоге переместятся в TclOO для удовлетворения большинства своих потребностей, программисты Tcl в целом предпочитают не слишком много работать с работающими системами и поэтому обычно не принимают все новые функции так быстро.

3 голосов
/ 29 мая 2009

Система объектов, включаемая в Tcl, по сути является фреймворком. Хотя с ним можно работать напрямую, его цель - стать основой, на которой могут быть построены другие ОО-системы. Три объектные системы, которые, вероятно, наиболее широко известны для Tcl (itcl, xotcl, snit), все упомянуты в ссылке, предоставленной Натаном.

Я работал с itcl, и его очень легко использовать, если вы привыкли к C / C ++ / Java / и т. Д.

Мне показалось, что работать с XOTcl немного раздражает, но многие люди любят его за его мощь, поэтому возьмите его с крошкой соли.

Snit - это чисто tcl OO-система (входит в tcllib и, следовательно, ее легко получить и включать в любые батареи, включенные в дист)

Краткое резюме: Стандарт не существует. Если вы хотите что-то, что вы можете использовать с наибольшей вероятностью установки независимо от того, куда вы идете, то Snit, вероятно, лучший выбор.

2 голосов
/ 30 мая 2009

Посмотрите на Tcl Wiki для полного списка систем OO для Tcl. Похоже, что люди проголосовали за включение Incr Tcl в ядро ​​Tcl, что говорит мне, что Incr Tcl был довольно близок к тому, чтобы быть стандартным. Хотя oo-система в ядре основана на других oo-языках, я считаю, что система пространств имен была получена из Incr Tcl.

http://www.tcl.tk/cgi-bin/tct/tip/50

1 голос
/ 26 июля 2012

Tcl8.6 имеет внутренний пакет TclOO. У iTcl есть новая реализация для этого. TclOO предоставляет OO-арку / механизм для других пакетов, таких как iTcl, его не следует использовать непосредственно в вашем коде.

1 голос
/ 29 мая 2009

Похоже, что для Tcl не существует единой объектной системы, которая бы выделялась как стандарт, но XOTcl и Snit довольно близки; система объектов, добавляемая в ядро ​​в версии 8.6, основана на них (см. здесь ).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...