SlideShare a Scribd company logo
1 of 99
Download to read offline
平成24年3月31日土曜日


                                                                                                    や

                       明日から使える                                                                      闇
                                                                                                    鍋
                                                                                                    プ
話                                                                                                   ロ
者                                                                                                   グ
                                                                                                    ラ


    Tcl/Tk クイック入門
に                                                                                                   ミ
ゃ                                                                                                   ン
お                                                                                                   グ
き                                                                                                   勉
ゃ                                                                                                   強
っ                                                                                                   会
と   なラをウ他              れ的な ら名環フロすな非ロ化ド
                             Python




                                                       Tcl
                                                             動




                                                                 Macintosh)
                                                                 Windows
                                                                    種あテなるキ ク




                                                                                     Tcl

                                                                                           Tcl/Tk
    どグ動ザに              てにど ずで境ォスる文常ー文行は                      作




                                                                   OS(Unix
                                                                     るィ 非ッとリ




                                                                              GUI
    がイ作上も              い か 、、とープ。法にし法の、
                        Tk




                                                             す       。ンス常ト プ




                                                                                    GUI
    あンさで               るがら、                                                                         発
                             Perl
                             Tcl




                             しムラ をシてをみコ
                                              Tk



                                                             る     、 現グクにかツトは




                                                                                     Tk
             Web




    る せ
              Tcl/Tk




                       。利も
                               Ruby




                             てなッ 特ンしフで                       。       在環リ強    言、
                        用一 、にも トは徴プまォ構マ                                                             表
     Tclet




    。 る ブ                                                        上 、、境プ力らー語ス
                                        GUI




                            限有  クとルう 造ン
      プ ラ               さ般                                       で   各で   なル                        資
                                                                                                    料



                                      使用書体         HGP創英角ポップ
自己紹介
%whoami
にゃおきゃっと
 twitter:   @nyaocat
学生
アルバイト
エンジニア
趣味でゲーム
 作ってます
(雑誌乗りま
  した)
趣味で色々な
言語とかやっ
 てます
Xtal   C++       html D

   gcc C Java Javascript css SDL
vim OpenGL SIMD OpenMP

Scheme CUDA CommonLisp
    tcl/tk Emacs Haskell Linux
          ChickenScheme
              Ruby
で、今日は


Tcl/Tk
今日話すこと
Tcl/Tkとは?
Tcl/Tkの利点は?
インストールは?
使い方は?
C言語と連携
(時間あれば)
宜しくお願いし
  ます
Tcl/Tkとは
まずそもそも
TclとTkは
セットで1つの言語
 ではない
Tclは
組み込み用言語
として作られた
1988年、J.K.Ousterhout博士
Tkは90年に
Tclの拡張とし
    て公開
かなり人気出た
 (らしい)
いつの間にか
両者がセットとし
て扱われるように
 なってしまった
 (みたい)(推測)
まぁ歴史とか
どうでもいい
現代から見る
Tcl/Tkの特徴
言語仕様が古い
遅い
人気が無い
というか
使ってる人
知らない
そもそも
知らない人も
  多い
(´・ω・`)
git gui とか
     gitk とか
Tcl/Tk 製なのに…
あっでも他の有名なTcl/Tk製の
   ソフト知らない
でも利点も多いよ
!(`・ω・´)
Shell-Like
な言語仕様
というか
  シェル
としても使える
コマンドの順次
実行形式な言語
首尾一貫した
リスト構造
“a b c”←リスト
{a b c} ←リスト
[a b c] ←リスト
“a b c”
変数の展開が
されるリスト
{a b c}
 変数の展開が
されないリスト
[a b c]
リスト内の結果で
 置き換えられる
 バッククオートみたいな
 `(,(a b c)) みたいな
やりやすい
そこそこ

C言語との連携
標準で正規表現
バックグラウンド
   実行
ガベコレ!
(ガベージコレクション)
有志の拡張が
  豊富
豊富なGUIパーツ
マルチプラット
 フォーム
(OSネイティブのGUIをな
 るべく使ってくれる)
学習コストが低い
  (多分)
manが充実してる
    マン
インストール
基本はビルド
Mac,Linuxなら
  パッケージ
Winなら
 ActiveTcl ?
(使った事ないので紹介できない)
Winなら
   Starkit
  (こっちのがオススメ)
   (単一exeファイル)
(ただしC組み込みは出来ない)
(ここから実物を見せる)
C言語組み込み
Tclの変数を直
 接操作したり
バイナリ値を操
 作出来たり
Tkのイメージオ
ブジェクトのピ
クセルデータを
 直接弄れたり
コマンドを作成
  したり
色々なAPI
が揃ってる
基本めんどい 
全部EvalでOK
最低限覚えるべ
  きもの
Tcl_CreateInterp
 Tclインタプリタの作成
Tcl_FindExecutable
      何故か必須指定
 ちょっと前までは必須ではなかった
  実装見ても大した事してない
Tcl_CreateCommand(…)
      tclのコマンドを作成する
        コールバックに使える
Tcl_Eval(char *)
    文字列を解釈して実行
  何故か char const* じゃない
Tcl_GetStringResult
   直前のコマンドの結果を得る
ちょちょいと
GUI組み込むの
   に便利
GUIを付けるのに
普段してる手順と
    しては
1
まずプログラム
  を組む
2
  Tcl/Tk 用の
コールバックコマ
 ンド作って登録
3
  Tcl/Tk で
GUIデザイン作
      る
4
完成
まぁ
わざわざ
C APIの紹介の
ために書きまし
     たが
先にCUIアプリ
として作って
Tcl/Tkで
 ラップ
この方が良い
まとめ
面白いし楽
誰も知らない
やりましょう
今回紹介出来な
 かったこと
様々な拡張
(Expect とか)
他言語Tkバインド
マルチスレッド
(ほんとにある)
 (びびった)
最近のVerの機能
推奨されてる
C API の使い方
バイナリデータ
 の扱い方
派手なデモ
調べて
(Tcl/Tkやって)
皆さんで調べたり
作ったりしてみて
  ください
質問とか
ありがとう
ございました

More Related Content

Viewers also liked

怪しいWindowsプログラミング
怪しいWindowsプログラミング怪しいWindowsプログラミング
怪しいWindowsプログラミングnagoya313
 
Boost jp9 program_options
Boost jp9 program_optionsBoost jp9 program_options
Boost jp9 program_optionsnyaocat
 
IdrisでWebアプリを書く
IdrisでWebアプリを書くIdrisでWebアプリを書く
IdrisでWebアプリを書くHideyuki Tanaka
 
本当のClosure Compilerをお見せしますよ。
本当のClosure Compilerをお見せしますよ。本当のClosure Compilerをお見せしますよ。
本当のClosure Compilerをお見せしますよ。Teppei Sato
 
テスト自動化のこれまでとこれから
テスト自動化のこれまでとこれからテスト自動化のこれまでとこれから
テスト自動化のこれまでとこれからKeizo Tatsumi
 

Viewers also liked (9)

怪しいWindowsプログラミング
怪しいWindowsプログラミング怪しいWindowsプログラミング
怪しいWindowsプログラミング
 
Boost jp9 program_options
Boost jp9 program_optionsBoost jp9 program_options
Boost jp9 program_options
 
エクセル統計の使い方(重回帰分析編)
エクセル統計の使い方(重回帰分析編)エクセル統計の使い方(重回帰分析編)
エクセル統計の使い方(重回帰分析編)
 
IdrisでWebアプリを書く
IdrisでWebアプリを書くIdrisでWebアプリを書く
IdrisでWebアプリを書く
 
本当のClosure Compilerをお見せしますよ。
本当のClosure Compilerをお見せしますよ。本当のClosure Compilerをお見せしますよ。
本当のClosure Compilerをお見せしますよ。
 
テスト自動化のこれまでとこれから
テスト自動化のこれまでとこれからテスト自動化のこれまでとこれから
テスト自動化のこれまでとこれから
 
MVC 01
MVC 01MVC 01
MVC 01
 
MVC 02
MVC 02MVC 02
MVC 02
 
MVC 03
MVC 03MVC 03
MVC 03
 

Recently uploaded

スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 

Recently uploaded (9)

スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 

Tcl/Tkクイック入門