Доступ к библиотекам TCL
Я новичок в TCL и борюсь с доступом к другим модулям. Команда SOURCE помогла мне включить другой код, который я написал в программе TCL. Тем не менее, я думаю, что у меня есть проблемы с доступом к библиотекам кода.
Например, когда я ссылаюсь на математическую функцию, она не найдена. Я думаю, что мне нужно что-то сделать, чтобы найти библиотеку математики на моем компьютере в поиске программы, вызываемой через tchsh85.
invalid command name "::math::statistics::mv-ols"
Ни один из этих каталогов не существует на моем компьютере:
info library= C:/Tcl/lib/tcl8.5
auto_path= C:/Tcl/lib/tcl8.5 C:/Tcl/lib c:/tcl/lib/teapot/package/win32-x86_64/lib c:/tcl/lib/teapot/package/tcl/lib
tcl library= C:/Tcl/lib/tcl8.5
auto_index= source C:/Tcl/lib/tcl8.5/word.tcl
auto_index= source C:/Tcl/lib/tcl8.5/tm.tcl
auto_index= source C:/Tcl/lib/tcl8.5/tm.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/parray.tcl
auto_index= source C:/Tcl/lib/tcl8.5/history.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/history.tcl
auto_index= source C:/Tcl/lib/tcl8.5/package.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/history.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/word.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/word.tcl
auto_index= source C:/Tcl/lib/tcl8.5/package.tcl
auto_index= source C:/Tcl/lib/tcl8.5/tm.tcl
auto_index= source C:/Tcl/lib/tcl8.5/auto.tcl
auto_index= source C:/Tcl/lib/tcl8.5/auto.tcl
auto_index= source C:/Tcl/lib/tcl8.5/auto.tcl
auto_index= source C:/Tcl/lib/tcl8.5/auto.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/auto.tcl
auto_index= source C:/Tcl/lib/tcl8.5/history.tcl
auto_index= source C:/Tcl/lib/tcl8.5/auto.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/history.tcl
auto_index= source C:/Tcl/lib/tcl8.5/package.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/auto.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/auto.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/history.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/tm.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/auto.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/auto.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/word.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/package.tcl
auto_index= source C:/Tcl/lib/tcl8.5/auto.tcl
auto_index= source C:/Tcl/lib/tcl8.5/history.tcl
auto_index= source C:/Tcl/lib/tcl8.5/package.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/word.tcl
auto_index= source C:/Tcl/lib/tcl8.5/history.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/auto.tcl
auto_index= source C:/Tcl/lib/tcl8.5/history.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/tm.tcl
auto_index= source C:/Tcl/lib/tcl8.5/tm.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
2 ответа
Команда, которую вы хотите добиться успеха:
package require math::statistics
Вы не должны получать код другими способами (например, прямой source
) потому что тогда вы привязываетесь к реализации пакета, а не к его спецификации. Этот пакет является частью коллекции Tcllib, которую вы должны установить где-нибудь на своем компьютере.
Если вы используете ActiveTcl, вы хотите сделать:
teacup update
Это установит много пакетов и настроит все необходимые вам пути.
Если вы используете свою собственную сборку, вам придется загрузить копию Tcllib для себя и следовать инструкциям по ее установке. Я не могу вспомнить, куда он устанавливается по умолчанию в Windows, но допустим, что C:\Tcl\lib\Tcllib
(с фактическими пакетами в подкаталогах этого): в этом случае вы сделаете пакеты доступными для Tcl, выполнив:
lappend auto_path C:/Tcl/lib/Tcllib
Если вы делаете распространяемый исполняемый файл, есть дополнительные приемы. Задайте другой вопрос в этом случае.
:: математика:: статистика является частью TCLlib. Чтобы проверить, установлен ли он, введите
package require tcllib
и если он установлен, он сообщит вам номер версии. Если он не установлен, вы можете использовать Teacup для его установки.