Если вы можете вызвать произвольные простые функции в C API TCL, ключевыми из которых являются:
Tcl_FindExecutable
- Назовем это первым, чтобы инициализировать библиотеку
Tcl_CreateInterp
- Это возвращает дескриптор нового контекста исполнения
Tcl_Eval
- оценивает скрипт; возвращает константу TCL_OK
(0) или TCL_ERROR
(1) (или несколько других, которые являются редкими в общем коде)
Tcl_GetResult
- Это возвращает значение результата (или сообщение об ошибке)
Tcl_ResetResult
- Очищает значение результата
Tcl_DeleteInterp
- может быть, вы можете догадаться, что это делает ...
вы также можете получить доступ к «глобальные» переменные в контексте с Tcl_GetVar
и Tcl_SetVar
; это очень удобный способ передать значения, которые могут быть недействительными скриптами.
Tkinter от Python позволяет пользователю создать экземпляр интерпретатора Tcl, который не загружает Tk (параметр 'useTk' для конструктора' Tk'). Может быть, оболочка Ruby тоже? –
Зачем вам вставлять его и просто не выкладывать? Вы посмотрели http://rubyconf2008.confreaks.com/tcl-for-rubyists.html? –