1 デフォルトの名無しさん 2013/08/05(月) NY:AN:NY.AN
2 デフォルトの名無しさん 2013/08/05(月) NY:AN:NY.AN
前々々スレは4年半も持ったので、前々スレも2012年くらいまではいけるという予言 ↓ 前々スレは6年2か月も持ったので、前スレも2020年くらいまではいけるという予言 ↓ 前スレは流産だったので、このスレもいつ落ちるか判らないという予言
3 デフォルトの名無しさん 2013/08/05(月) NY:AN:NY.AN
>>1 この前gitインストールしたらtkで書いたガワついてたぞ。 あと、Mac portsもtclだし、以外とまだいけるのでわ? 4 デフォルトの名無しさん 2013/08/05(月) NY:AN:NY.AN
|....,,__ |_::;; ~"'ヽ | //^''ヽ,,) | i⌒" | ∀`) < 誰もいない きのこるならいまのうち |⊂ | ノ _,,,......,,__ /_~ ,,...:::_::;; ~"'ヽ (,, '"ヾヽ i|i //^''ヽ,,) ^ :'⌒i i⌒" |( ´∀`) < きのこ のこーのこ げんきのこ ♪ |(ノ |つ | | ⊂ _ ノ ""U _,,,......,,__ /_~ ,,...:::_::;; ~"'ヽ (,, '"ヾヽ i|i //^''ヽ,,) ^ :'⌒i i⌒" (´∀` )| < エリンギ まいたけ ブナシメジ ♪ ⊂| (ノ | | | ヽ _ ⊃ .U"" | | ミ | ミ サッ! | ミ |
5 デフォルトの名無しさん 2013/08/05(月) NY:AN:NY.AN
900越えは2020年かもっと先だろうな。 そもそもTcl/Tkがそのとき使われているのだろうか。 気の長い話だ。
6 デフォルトの名無しさん 2013/08/05(月) NY:AN:NY.AN
最新のtkに対応してるのがtclだったりするので そう簡単に無くなりゃせんだろうな
7 デフォルトの名無しさん 2013/08/05(月) NY:AN:NY.AN
やっと立った
8 デフォルトの名無しさん 2013/08/05(月) NY:AN:NY.AN
このスレッドは天才チンパンジー「アイちゃん」が 言語訓練のために立てたものです。 アイと研究員とのやり取りに利用するスレッドなので、 関係者以外は書きこまないで下さい。 京都大学霊長類研究所
9 デフォルトの名無しさん 2013/08/05(月) NY:AN:NY.AN
┌─┐ │●│ └─┤ _ ∩ ( ゚∀゚)彡 ┌─┬⊂彡 │●│ おっぱい!おっぱい! └─┘ おっぱい!おっぱい!
10 デフォルトの名無しさん 2013/08/05(月) NY:AN:NY.AN
デジャヴ・・・?
11 デフォルトの名無しさん 2013/08/05(月) NY:AN:NY.AN
小手先の技術しか学ばない無能(その場しのぎで、将来を見通した深い考えのないこと どこもこんなのばっか
12 デフォルトの名無しさん 2013/08/05(月) NY:AN:NY.AN
(また
13 デフォルトの名無しさん 2013/08/05(月) NY:AN:NY.AN
日本どころか海外でも誰も使ってないけど、それで20年やってきてるからねえ まあsqueakやD言語なんかも活発だよな MSがバックにいるはずのF#なんか完全に動き止まってるけど・・・ LFS(linuxのディストリ)でテストスクリプトにtcl使ってるけど 世界の村で発見!こんなところにtcl って感じ
14 デフォルトの名無しさん 2013/08/05(月) NY:AN:NY.AN
>>13 ありがとうございます ベストアンサーにさせていただきます 15 デフォルトの名無しさん 2013/08/06(火) NY:AN:NY.AN
ノ ゚.ノヽ , /} ... ,,イ`" 、-' `;_' ' ..::::::::::::::... ,-、 _.._ ( (,(~ヽ'~ ..::::::::::::::::::::::: )'~ レー' 〉 ヽ i`'} .::::::::::::::::::::::: ~つ '-ー、 i | i' ...::::::::::::::::::::::: / < / 。/ ! ......::::::::::::::::::::::::: これは>>1 乙じゃなくて / ~^´ /},-'' ,●:::::::::::::::::::::::::::::::::::: i、 ,i' _,,...,-‐-、/ i :::::::: .::::::::::::: ..ゝ <,,-==、 ,,-,/ .::::::::::: 放射能がうんたら ) {~''~>`v-''`ー゙`'~ ..::::::::: ........::. { レ_ノ ..::::::::. ......::::::::: ノ '' ..::::::: ...::.:...::::::::: .::::::::: ...:......:::::::::::: . .:::::::::::. ..... .. ..:::::::::::::::::::::::: :::. ::::::::::::::::.::::::....:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.. :: ::.. .:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::: ::. ::::::::::::::::: :::::::::::::::::::::::::::::: ::::: .:: ::. ::: 16 デフォルトの名無しさん 2013/08/06(火) NY:AN:NY.AN
17 デフォルトの名無しさん 2013/08/06(火) NY:AN:NY.AN
18 デフォルトの名無しさん 2013/08/07(水) NY:AN:NY.AN
前スレ埋まってないのに落ちた
19 デフォルトの名無しさん 2013/08/07(水) NY:AN:NY.AN
質問いいですか?
20 デフォルトの名無しさん 2013/08/07(水) NY:AN:NY.AN
はい、どうぞ
21 デフォルトの名無しさん 2013/08/10(土) NY:AN:NY.AN
安定しすぎててネタがなにもない
22 デフォルトの名無しさん 2013/08/11(日) NY:AN:NY.AN
ネタ投下
23 デフォルトの名無しさん 2013/08/18(日) NY:AN:NY.AN
>>17 自分でコンパイルしないのなら、ここ数年、他の選択肢は無いと思うのだけど? 24 デフォルトの名無しさん 2013/08/19(月) NY:AN:NY.AN
ありがとう
25 デフォルトの名無しさん 2013/08/25(日) NY:AN:NY.AN
_ __ rくヾ\ ___ , ≠´ : : : :  ̄`:´ : : : : :  ̄:三>xヾ\\ ///:厶/ : : : : : : : : : : : : : : : : : : : : : : : : : : :`ヾ:\\ . ///:/イ: : : : : : : : : : : : : : : i: : : : : : : : : : : : : : : : 、\ゝィ1 ///:/: : : : : : : : : : : : : : : : : : l: : : : : : : : : : : ヽ: : : : ヽ:ヘ l:| . lTlン: : : : : : : : : : : : : i : : : : : l: : : : : : : : : : : : : \: : : ',:ハ!jヽ ,∨: : : ; : : : : : : : :i: : : l : : : : : ト 、: : : : : : : : : : : : :ヽ: : ',:',:', /:/: : : :,': : : : : : : : :l: : : :l : : : : : l \ : : : : : : : : : : : : \ハ: :',:l . /: l: : : : ;! : : : : : : : : !: : : :ト 、: : : :', ` <: : : : : : : : : : : ヾ : l: :l / : :|: : : /|: : : : : : : : :,l: : : ;'_\ : : ヘ ィ´ ` <: : : : : : : :ヘ: :!: :、 . /: : : | : :,': :| : : : : : : : ハ: :/ ` ヽ: : :ヽ ' _ \ : : : : : : :| :∧ /: : : : l : l、: :|: : : : : : : i _V-−- 、 \ : \ ,ィく-.、 トハ ト、: : : : : ! : : ! : : : : : ∨: |Y : : : : : : | f7て)−ミ. ヽ ` ーニゝ.ヒ':::::}.l || l: :ヽ: : : :l: : : l : : : : : : : : | `| : : : : : : | V! い::::::::}.l い、::ク ノ/ l : : ハ: : ;l: : : :! : : : : : : : :||: : : : : :.| ヾ 廴ー_'丿 ` ー " |: : l ノ: 九: : : ', : : : : : : : : :! い: : : : :| ,、 八 l レ' !: : : : l なんだ?呼んだか? : : : : : : : : :l ヽ : : : : ハ r‐- - ┐ /: : :l |: : : : :| : : : : : : : : :1 \:_: : :ヽ、 い ノ イ 廴/ | : : : : | : : : : : : : : :ハ ーヒ、: みー _ ` ー ´_ . <3{ ヽ. |: : : :| : : : : : : : : :.∧ /`¨〒==9oュTトく >x ∧ヘl (ハ |: : : : :|
26 デフォルトの名無しさん 2013/08/27(火) NY:AN:NY.AN
test
27 デフォルトの名無しさん 2013/08/28(水) NY:AN:NY.AN
28 ◆Tcb/Tk.QVtw3 2013/09/03(火) 00:07:04.65
トリップつくた
29 デフォルトの名無しさん 2013/09/16(月) 23:11:17.32
うーん惜しい
30 デフォルトの名無しさん 2013/09/21(土) 06:17:13.78
>>13 LFSやった事あるならtclが使われてるsoftwareがあるのを必然的に知ってるはずである。 しかし君は無いと言う、ようするに君は挫折したのだね。素直になりなさい。 31 デフォルトの名無しさん 2013/09/21(土) 11:58:37.87
ゲームつくれる?
32 デフォルトの名無しさん 2013/09/21(土) 19:40:40.28
33 デフォルトの名無しさん 2013/09/22(日) 08:43:42.60
太古の時代、シムシティのプロトタイプだか最初期のバージョンはTcl/Tkで作られていたらしい。
34 デフォルトの名無しさん 2013/09/23(月) 00:32:48.29
昨今のスクリプト言語乱立と共に、全て文字列の有り難味が再評価されようとしている。(嘘)
35 デフォルトの名無しさん 2013/09/25(水) 12:10:41.75
>>30 挫折した(何に?)とかこのスレと全然関係方向に話を広げてどうすんだよ 言いたいことあるならはっきり書けよ負け犬 36 デフォルトの名無しさん 2013/09/25(水) 12:11:50.82
>>30 TCLが使われてる誰も知らないソフトを全部上げる気なんかさらさらねえし 37 デフォルトの名無しさん 2013/09/25(水) 12:13:09.41
>>30 誰が何に挫折したとかこのスレと全然関係がない方向に話を広げてどうすんだよ 言いたいことあるならはっきり書けよ負け犬 おまえみたいなのが人の土俵で糞してるのがダメなんだよ 38 デフォルトの名無しさん 2013/09/25(水) 13:05:05.83
For only love can conquer hate.
39 デフォルトの名無しさん 2013/09/28(土) 02:40:50.07
『誰も知らない』postgresqlで使われてるけどな。 おまえがいくらムキになっても正しい意見に見せれるのはブログや2chの中だけ、 『日本どころか海外でも誰も』相手にしてくれないと思うがな。 ほんと何処行ってもおまえみたいな絶対自分が正しいという意固地な奴しか居なくなって困るよ近頃。 まあ、勝手にやってな。
40 デフォルトの名無しさん 2013/09/28(土) 06:55:24.94
SQLITEでも使われてるよ
41 デフォルトの名無しさん 2013/09/28(土) 14:29:38.51
MacPortsもTclなんだが
42 デフォルトの名無しさん 2013/09/28(土) 22:02:24.56
PythonとRubyで使ってるよ
43 デフォルトの名無しさん 2013/09/29(日) 23:38:23.82
expectを忘れないで
44 デフォルトの名無しさん 2013/09/29(日) 23:43:17.65
>>39 >>13 のウンコは別として、海外の地方で開かれるpython meet-upに参加したら、 python/tkはm9(^Д^)プギャーされてwxPythonが推されてたよ 45 デフォルトの名無しさん 2013/09/30(月) 09:13:05.22
46 デフォルトの名無しさん 2013/09/30(月) 10:01:33.03
パイソンは別に嫌いじゃないが毛唐のpython厨はウザいな。 スクリプト使えるアプリで言語にpython使ってないやつのMLとか見ると大抵 「なんでそんな糞な言語でスクリプト書くようにしてんの?pythonにしようよ」 とか言うバカが居る。
47 デフォルトの名無しさん 2013/09/30(月) 10:15:01.61
秀丸の悪口はやめてください
48 デフォルトの名無しさん 2013/10/01(火) 19:45:48.31
ハードの設計ツールはtclでやるようになってる それでおぼえてしまったw bltとか、便利だったんで、続いてほしい
49 デフォルトの名無しさん 2013/10/01(火) 20:45:48.24
TkDesk便利だよね。
50 デフォルトの名無しさん 2013/10/14(月) 20:49:38.38
Rubyがウェブサーバーやコンソールから外に進出してこないのに対して Pythonは汎用言語としていろいろなところに進出しているので Tclの領域が侵略されて行ってる感じだね。 最近Dropboxの記事見てうらやましいと思った。 でもPerl/Ruby/Tclと毛色が違いすぎて、 ちょっと優秀なスクリプト言語をもう一つ覚えるくらいならC#でやるわと思ってしまう。
51 デフォルトの名無しさん 2013/10/17(木) 15:59:54.22
なんで使われなくなったの? WEBに移行したから?
52 デフォルトの名無しさん 2013/10/17(木) 17:23:43.82
RubyやPythonの方が使いやすいから
53 デフォルトの名無しさん 2013/10/17(木) 18:50:18.33
8.5 (2007) までは、 ユーザー定義型まわりが貧弱 名前空間やモジュールまわりが貧弱 Tk の UI が時代遅れ だったので、一大勢力だった学校関係者が特にヨーロッパであらかた Python へシフトしたため。 学校関係者は勉強するヒマが十分あるので、Python のはるかに複雑な文法も問題なかった。 あと、人気が出始めた頃に FFI を非互換バージョンアップしたため、外部ライブラリ作者に警戒さ れたのもあると思う。学校関係者は、後方互換性が高い方を好む傾向が強い。
54 デフォルトの名無しさん 2013/10/17(木) 20:14:45.14
●●
55 デフォルトの名無しさん 2013/10/20(日) 14:32:44.74
TCLは終わったっぽいね。10年くらい前、大学生の時に使って以来TCLがあったのを忘れてた。 このスレみて思い出したよ。
56 デフォルトの名無しさん 2013/10/20(日) 14:33:24.26
TCLあげ
57 デフォルトの名無しさん 2013/10/20(日) 16:18:17.81
8.5 になって GUI がモダンになった。 8.6 になってオブジェクト指向モジュールがコアライブラリに入った。 まだだ、まだ終わらんよ。
58 デフォルトの名無しさん 2013/10/20(日) 17:27:43.71
EDAツールではTCLのまま変化なしのようです。終わる気配がない。 SimにVPIとかで自分のモジュールを繋げる時は、必ずlibtclが居るので その点は便利なんだよな。luaとかだと自分で用意しないといけない。 luaは多重連想配列リテラルが書けるのでシミュレーションパラメータ 設定を書かせたりするのに便利なんだが、Tclはその点がダメだったな。
59 デフォルトの名無しさん 2013/10/20(日) 18:53:47.87
最近買ったUSBオシロのコンソールがTCLで書かれてた。 ちょっと勉強しようかと思ってるCADのスクリプト環境もTCLだったりする。 ヤバイ。
60 デフォルトの名無しさん 2013/10/21(月) 23:09:19.16
perl/Tkとかpython/Tkとかで結局Tcl/Tk一式インストールされちゃうから消えはしないわな
61 デフォルトの名無しさん 2013/10/23(水) 19:12:33.38
Tclって結構愛されてんだな。 なんか安心した。
62 デフォルトの名無しさん 2013/10/28(月) 08:25:11.59
63 デフォルトの名無しさん 2013/10/28(月) 22:00:58.31
dict知らんかった。8.5からか。 リテラルが綺麗に書けない(特に注意しないとコメントが置けない)のはarrayと同じ感じかな? CとのIFはどうなるんだろう?
64 デフォルトの名無しさん 2013/10/29(火) 01:19:43.03
>>61 Perl/Tkには、Tclは全く入っていないと思う。 tkinterのソースもちらっと見たけど、無さそう。 Perl/Tkのtextのキーバインドが全部Perlで書かれていて、読めなかった記憶がある。 65 デフォルトの名無しさん 2013/10/29(火) 01:39:51.98
Tkinter.Tcl()からeval()でTclの実行できるみたいだから入ってるでしょ。 Perl/Tkはフォークしたと聞いたような記憶がある。
66 デフォルトの名無しさん 2013/10/29(火) 04:07:07.23
Pascal/Tk
67 デフォルトの名無しさん 2013/10/29(火) 08:15:32.73
>>64 Perl/TkはTcl/Tkのバージョンアップについていくのが大変すぎてもう更新してないんじゃ。 Tcl::Tkていうモジュールがある。これはただのラッパーみたいでTclの外部ウィジェットも使える。 68 デフォルトの名無しさん 2013/10/29(火) 08:17:58.09
69 デフォルトの名無しさん 2013/10/29(火) 22:21:02.47
>>68 ごめんね。相手をしてもらえるとは思わなかったw parameter = { section1= { subsec1 = { p1=v1; -- こめんと p2=v2; -- などなど ... }; ... } とかをやりたい。array setだとコメントが面倒。 70 デフォルトの名無しさん 2013/11/07(木) 10:15:18.03
71 デフォルトの名無しさん 2013/11/07(木) 11:14:09.24
EDAツール関係なんかなぁ。
72 デフォルトの名無しさん 2013/11/07(木) 12:46:33.22
>>69 set parameter { section1 { subsec1 { p1 v1 # コメント p2 v2 # などなど } } } puts [dict get $parameter section1 subsec1 p1] #の後ろにスペース入れるのがポイントw 73 デフォルトの名無しさん 2013/11/07(木) 21:44:25.98
>>72 コメントにスペースを入れるとダメじゃないかw array setも同じw でも多重は簡単にできるんだね。Cから使うやり方を勉強しよう。 74 デフォルトの名無しさん 2013/11/29(金) 07:00:59.53
8.5.15出てた。気づいてなかった。 PTさんtclkit作ってくれないのかなぁ? ActiveTcl同梱のbasekitにするほうが良いかなぁ? アイコン改変したいけど、問題無いのだっけ?
75 デフォルトの名無しさん 2014/01/20(月) 05:18:35.43
>>43 忘れるも何もexpectとったら何も残らないだろ 移植もされてるけど導入のしやすさは今でもtcl一択 忘れないで、なのはビットウォークだろ 76 デフォルトの名無しさん 2014/01/28(火) 20:52:20.51
とりあえず保守
77 デフォルトの名無しさん 2014/01/30(木) 06:34:47.34
TclOOムズイ。myコマンドのマニュアルにある、 my variableて、variableだけで使うのとなにが違うのよ
78 デフォルトの名無しさん 2014/02/16(日) 22:46:21.51
79 デフォルトの名無しさん 2014/02/21(金) 16:00:33.86
variableはTclのnamespaceの共有変数をインポートする。 my variableはTclOOのインスタンス変数をインポートする。 TclOOのメソッド内でvariableを使うと インスタンスが属するnamespaceから変数をインポートできる。
80 デフォルトの名無しさん 2014/02/22(土) 21:50:51.95
でもtclooてオブジェクトごとに名前空間作ってそこにプライベート変数作るよね。だから一緒なんじゃないの?
81 デフォルトの名無しさん 2014/02/22(土) 21:51:40.39
オブジェクトごとじゃなくてインスタンスごとって言ったほうがいいのか。間違えた
82 デフォルトの名無しさん 2014/02/28(金) 11:37:17.55
今ってTCL/TKとPerl/TKとRuby/TKだと、どれが人気なの?
83 デフォルトの名無しさん 2014/02/28(金) 23:05:13.47
マジレスするとPython
84 デフォルトの名無しさん 2014/03/06(木) 22:10:17.79
俺がTCL/TKを触ったのはもう10年以上も前の話。 当時学生だった俺は授業でTCLを習ったので、ネットで色々なプログラムを見てまわった。 驚いたのが、東工大生の書いた様々なソートがグラフィカルに見ることができるプログラム。 TCLでこんな凄いことができるのかというよりも、そんなプログラムをかける東工大生に驚いた。 やっぱ東工大生って一般ピーポーより違うね。 という昔話。
85 デフォルトの名無しさん 2014/03/07(金) 07:22:47.58
菅直人
86 本田 2014/03/08(土) 22:26:33.40
87 デフォルトの名無しさん 2014/03/09(日) 12:50:16.26
だれか python / tkinter に移植して
88 本田 2014/03/09(日) 19:00:51.94
John Ousterhout - RAMCloud: Scalable High-Performance Storage Entirely in DRAM VIDEO ソート実感そう太君だ すげーまだ残ってたんだ。在学中にこんなプログラム俺には絶対書けなかった・・・
そう太が動かないんだけど動かせてる人いる? いたらgifとかでupしてほしい
init_dataプロシージャの中で自作の乱数プロシージャArndを呼んでいるが init_dataの呼び出し箇所では1未満の実数を期待するような処理をしているのに対して Arndは1を超える数を返しうるのでおかしくなっているようだ。 set r1とset r2の箇所をこう変えたら動く。 set r1 [expr int(rand()*$data_num)] set r2 [expr int(rand()*$data_num)] Arndの実装は意図がよくつかめないけどpow(2, 32)って出てくるので 32ビットアーキテクチャでのオーバーフローに依存しているのかもしれない。
あれ、俺の記憶では東工大だと思っていたのだが・・・スマン
一応snack(のlibsound.dll)を使うと.wavは鳴ったが、snackは糞GPL糞ライセンスだった Tcl/Tkは糞まみれにならんと音も出んのか。
>wavファイル鳴らしたい。 The Tcl Windows API (TWAPI) extension.
何気に驚いたけど、このスレッドってパート4だったのね。 こんなに長い間続いていたんだ
>>99 情報ありがとう。それにしても音声は選択肢が少ないですね。 情報ありがとうございます。 小生MSWin派ですが、Unkx,Linux派にはgnoclも相性が好いとの噂です。 他に非商用限定なら『Sound 1.0 for Tcl/Tk 8.2.0』があるようです。 所で下記2行で発声できますが(WinXp)、画像が邪魔です、画面を壊さない方法ありますか set thefile "喧しい.wav" exec {*}[auto_execok start] "" [file nativename [file normalize $thefile]]
懐いなあ 97年ごろ、linuxのgui環境といえばathenaかmotifをcでずらずらapi書いて呼び出すしかなかった それがスクリプト一行で出た時は感激したなあ Tclの言語仕様には閉口したけど
全部リスト リストの先頭をコマンドとして認識 これをわかってれば言語仕様でつまづくことはない
>>107 {}で囲んだのは、空白を含むリスト要素 エクスプローラーのリストビュー的なもの使いたいんですがどのウィジット使えばいいんですかね
ちょっといじった感じだけど、ミスやバグが見つけ辛い印象だな こんなのに気づかなかったのか、みたいな
>>115 基本的にグローバル変数だっていうのと、 スクリプト言語全般だけど、バグのある所まで到達しないとtypoすらわからないという。 amazonでTCL/TKって検索したら、 出てくる本が、10年以上前の、新しいので、2000年くらい、 しかもみんな絶版。 オライリー(オライリージャパンでは無い)では、 割と最近でも、TCL/TKの本出てるんだし、 もう少し日本語の書籍出てくれないかなぁ。 興味あっても、参照するものが少なすぎるw
>>119 書籍も凄く安いのと凄く高いのしかない。とりあえず安いの買ってみた。 後はインターネットで検索するしか無いと思う。マイナー言語だけど、 未だに死ぬほど高い商用アプリでも使ってんのよね。 一旦フツーの言語ではない独特なポイントを理解してしまえば本なんてイラネーけど、そこに至るまでが遠いか。
あるよ tcl デバッガ とか tcl IDE でググれ
>>123 RamDebuggerは日本語のコメントが文字化けする 一応動作するtclファイルを入れたらerrorはかれてしまったし、なんかあやしい (こっちの環境が悪いだけかもしれないけど) gdbみたいなのないかなあ 一見簡単にGUIできそうだけど実際ちょっとしたダイアログですら手間だよね SpecTclっての使ってみたけど、ないよりいいかなというレベル ActiveStateはやる気あるのかないのか分からん
zenityみたいのがあるのを考えるとtcl/tkじゃ全くの力不足だったのが分かる
>>128 1.タイトルバーの最大化ボタンを押す。 2.wm state . zoomed 3.wm geometry . 1920x1080 のように最大サイズ指定する。 4.wm attributes . -fullscreen 1 でフルスクリーンにする。 Tcltkってどうやってテキストのカーソルの形変えるんだろ?
>>135 ほんとだ! 漏れが検索してもマウスカーソルについてしか出なかったのに怒 >>137 TkImg をインストールすれば使えるようになる 無事無職になったので暇つぶしにtcl覚えたいんだけどまず何から初めりゃいいの
bindで bind . <Shift-Return> { aaa } bind . <Return> { bbb } と定義すると、Shiftキー+Enterキーを押した時に aaa と bbb が両方実行されるのを 防ぐ方法は無いのでしょうか?(aaaのみを実行したい)
>>141 <Shift-Return> が発動する時には <Return> に与えたコマンドは実行はされなかったけど環境依存? 試したのは CentOS 6.5: wish8.5 MacOSX 10.9.5: wish8.5 >>142 すみません。単なるプログラムミスでした。^^; ちゃんと動作しました。 環境:NetBSD 6.1.5(VMWare)+Wish 8.6 c++とswigでtclライブラリ作ってます。 DLLのINITに初期化動作を仕込みたいのだが、 swig側がINITを自動生成してしまうので困っています。 マニュアル探してもINITに動作を仕込む方法見当たらないし。 swig使っている人、教えてつかぁさい。
自己解決 % init %{ OresamaInit(); %} でいいのか。 HelpのTclの項目ではなくて、最初の総論のところにのってた。
mac環境ではentryやtextなどテキスト入力を受け付けるウィジェットにおいて日本語のインライン変換ができないようですがなにか解決方法はありますか? MacOSX 10.10.3 Wish 8.6
bigipの、iルールがTCLですよね。 勉強しようと思うんだけど、 詳しい人いますか?
windowのタイトル、最小化、最大化、×ボタンの部分を表示しない方法ありますか?
例えば、 タイトル、最小化、最大化、×ボタンなしのウィンドウ枠で ボタン一個だけ配置する方法を教えてください。
interpコマンドって何のために使うんだろ? 子プロセスをforkするわけでもなさそうだし。 Tclで作ったアプリケーションに ユーザー用カスタマイズ機能をつけるとか?
HyperMeshのスクリプトのために使い始めたけど すげー独特
perl→Strawberry Perl ruby→ActiveScriptRuby python→公式インストーラ activestateの最後の砦がtclになるとは誰が想像したか
生きてるスレなら聞いてみよう Tclでkit展開するためにsdx.kit落とそうと思ったらgoogle code死んでたんだけど、 http://equi4.com/pub/sk/ にある2008年2月付けのやつが最新でいいの? gitとかに移動してるならurlおしえてください偉い人 今からTcl学んでなんか作ろうと思うんだけど何したらいい
tclなんてヘルプだけ見ればわかるだろ。 man tcl やればtclのキモは全部書いてある。 下手な解説サイトとか見るよりマシ。
tcl tkがなんぜ普及しないかってググってもあんまりいい記事なかった その代わりになぜtclが消えないのか?に興味が出てきた 実はtclってすごいんじゃないのか
>>166 半導体のデバイス設計ツールのスクリプトがTclなんだよ。 消えようがない niftyで初心者向けに解説してくれてたサイトがniftyとともにお亡くなりになった。 いつまでたっても初心者のおれにはありがたかったんだけどなぁ
tclのキモは man tcl で書かれている以上でも以下でもないけどなぁ
TCLは内部でUTF-8だぞ。 漢字だろうがなんだろうがキチンと文字数カウントできるし、 文字コード変換も余裕。 細かいツールを作るとき、文字コードとリストが扱えるのがラクチンすぎてTCLばかり使ってる。 C++で同じことやろうと思ったら大変すぎる。
tclからtkを使うんじゃなくて Tcl_Eval()とかでもなくて cからtkを使ってみたいんだけど いまからやるメリットってある?
CからGUIを使いたいならQtとかwxWidgetsの方がいいだろ。
hoge.tcl を utf-8 で保存して hoge.tcl の中に source -encoding utf-8 hoge.tcl って書くと 無限ループするんやね
if { ![info exists fuga] } { set fuga "" source -encoding utf-8 hoge.tcl } else { ... 本体 ... } で桶
string compare "1" [string match \"*fuga*\" [string tolower $env(HOGE)]] みたいなのでenvが無いって言われるケースでも エラー出ても放っといていいの?
晴れるかな nicovi watch/sm26593556
>>183 ?? env(HOGE)-> env(HOME) >>183 set errorstring [catch {string compare "1" [string match \"*fuga*\" [string tolower $env(HOGE)]] }] openからパイプで外部コマンドを子プロセスとして起動した時 外部コマンドがエラーで落ちたかどうかってどうすれば検出できるでしょうか? closeすればエラーメッセージが返ってくるけど,closeする前は, 子プロセスはゾンビになって残ってるのでpidはちゃんと存在してるし, 書き込みとか読み出しとかすればbroken pipeって言われるけど, なんかスマートじゃないなぁ
あ,ちなみにバージョンは8.4でOSはSolarisです。
「エラーで落ちた」 死んでるけど異常終了すらしてないって意味?
早速のレスありがとうございます。 で、そうじゃなくてその外部コマンドを普通に起動すれば エラーメッセージ出して異常終了するんだけど、Tclからたとえば set ch [open "| hogehoge" +r] とかやってhogehogeコマンドを起動すると、 hogehogeは異常終了するんだけどメッセージは出さず、 psコマンドで様子見るとゾンビプロセス<defunct>になって waitされるのを待ってる状態です。 puts $ch fugafuga みたいに文字列を流し込んでやったり、あとcloseとかすると はじめて「broken pipe」みたいなメッセージが出ます。 それをcatchすればエラー判定できるのですが、 読み書きする前にエラー判定できるといいなの思ったのですが。
>子プロセスはゾンビになって残ってる これとも矛盾するかな
fblocked の(マニュアルの)用例に(# …通信路が顧客に閉じられた…)があるけど
マニュアルfblockedの項目 原文は「client」 訳文は「顧客」 いずれにしてもサーバーproc 内で相手側がclosed にすると呼ばれると書いてある
Linuxのパイプで、エラーになる条件を見れば? パイプは、どういう場合にエラーになるか
fblocked試してみたけどダメでした。 素のTclだとシグナルも拾えないしやっぱり無理っぽい 結局openしたものを一旦closeして、エラーがなければ もう一回openしなおすという方法でできそうではあるけど スマートじゃないなぁ
A | B | C のようなコマンド(プロセス)のパイプは、 正常値かエラーか、タイムアウトしかない
ifやwhileコマンドの第一引数はexprで評価されるので常にブレスで挟んだ方が効率がいい,みたいなことがWikipediaに書いてある. if [info exists hogehoge] { ... } if {[info exists hogehoge]} { ... } Wikipediaに従えば後者のが効率が良いはずだが,括弧が多くなって邪魔臭い. それとも内部的には処理を最適化して同じ効率だったりするのか. 大したことじゃないが,いつも迷う.
AndroWish allows to run desktop Tcl and Tk programs almost unaltered on the Android Platform while it opens the door to script a rich feature set of a mobile platform. https://www.androwish.org/index.html/home いまさらレス。 ifはともかくwhileは{}で囲うかどうかで意味が違ってくる。 while [...] {...} としちゃうと[..]はコマンドを実行した結果がwhileの引数に渡される。 whileの第一引数がループ本体を実行する以前に決定されてしまっている。 while {[...]} {...} だと[...]という文字列がwhileの引数に渡される。 [...]がループ本体の結果を受けて変化することを期待しているなら後者でしか正常動作しない。
原則を理解しないで上っ面だけ覚えようとするからそうなる
Tcl/Tk 8.7 is now in alpha development . Those seeking its new features, or those invested in keeping their existing Tcl-related work compatible with the next releases of Tcl and Tk are invited to try and track this development work. https://www.tcl.tk/software/tcltk/8.7.html >>206 >>201 だけどレスサンクス 質問が悪かったwhileはご指摘の通り勘違い 問題はifのとき ifではなやむ tclquadcode http://wiki.tcl.tk/40985 Package for compiling Tcl bytecode into LLVM IR (and hence to native code). Depends on llvmtcl. (Used to depend on tclbdd during the development of some of the compiler reasoning engine; now removed.) May form the basis for the fastest path of the Tcl execution engine in 9.0; performance is good, but dependencies are complex. >>168 半導体のデバイス設計ツールのスクリプトがTclなのか知らんが それと消えるかは別の話 全く他のことに使われてないなら意味がない 半導体のデバイス設計ツールのスクリプトがTclなんだよ。 消えようがない いっちゃうやつきもいね
半導体のデバイス設計ツールのスクリプトがTclなんだよ。 消えようがない とか言っちゃうやつキモいね
Creating Great Programmers with a Software Design Studio - John Ousterhout (Stanford) VIDEO Magic VLSI - Open Circuit Design http://opencircuitdesign.com/magic/ Magic is a venerable VLSI layout tool, written in the 1980's at Berkeley by John Ousterhout, now famous primarily for writing the scripting interpreter language Tcl. Magic VLSI Layout Tutorial - part 1 - YouTube VIDEO Magic VLSI Layout Tutorial - part 2 - YouTube VIDEO 1年も前のレスにアンカーつける人もちょっとキモいですよ
tablelistを最近使ってみたんだけど30x20くらいのデータ表示させるとカーソル移動がめちゃくちゃ遅い tkってwindowsだとエミュレーションのせいで遅い?
>>166 Cとの親和性高いからRで使われてるんだよRが消えない限りtcl/tkも消えないだろうな >>223 それくらい話題がないんだからキモいとか言ってもしょうがない >>223 直前のコピペはスルーしてその反応は相当キモい >>223 内容を考えろよ そんなレスしてるから人がいないんだろ キモいし python が tkinter と Tkinter に分けたのはなぜ?
Windows7ですが@ActiveTcl ABAWT BMagicsplat CIronTcl どれがいいですか。
うちの環境だけだろうけど、win7に1はエラーが出て入らなかった BAWTにした
7 でも 8 でも 8.1 でも 10 でも OK
Electronとはどう違うんですかね。 Tcl/Tkのほうが軽いの?
ニコビデオSM26593556 この動画の「〔Tcl/Tkは〕〔大雑把に言うと〕GUI付きのLua」という説明が非常に分かりやすかった。 このおかげでどういう場合にTcl/Tkを使えばよいのかが理解できた。 アプリケーション全ての機能を遅く構造化しにくいTclで実装する必要は全くない訳だ。
質問なんですが、Windows向けのTcl/Tkアプリケーションだと、exe化することができ 実行する環境にTcl/TkがインストールされていなくてもGUIアプリケーションを起動することができますよね。 これをX on Linuxでやりたいんですが、なにか方法知りませんでしょうか…
>>254 どうやってですか。あ、もしかしてC言語か何かに組み込んでってことですかね? linuxでそれできたとしても異常に遅くなるけど良いの?
>>257 異常に遅くなるけど→Linuxの経験あるならやり方を早く言えば→ 本気でやりたい香具師なら ウダウダ言う前に自分でやってる罠
AppImageってどうやって作るのか今一分からんのよね。 使用する側は楽でいいんだけども。
>>252 Windowsでexeにする方法と、それと同様の方法をLinuxで出来ない理由を説明しないと、意味のある返事は無いよね。 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方 役に立つかもしれません グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』 675X3
Tcl/Tkって まあ業務で使うとかは置いておいて,プログラム初心者が学ぶ言語として最適だと思うのよね。 まず大半の言語と同じくサブルーチンや変数の概念を持ってる LISPみたいに妙な書きかたをしない そしてなによりTkを経由してGUIが出せるってのはすごいことだと思うよ。 コマンドラインから $ ./a.out とやって数字がインクリメントされるのを眺めても嬉しくないけど ボタンを押したら枠内の数字が増加していくってのは,プログラミングの実感を持つのに最適。 あとWindowsでもMacでも相当古い機種からサポートされてる。
Nimって結局Cなんでしょ? なんかラッパー言語って二つの処理系のことを平行して考えないといけないから面倒な印象があるわ
いやTcl/Tkは「馬鹿でも使える」ように設計されてるだろ とマジレス
ActiveTcl 8.6.8出てる。 wiki.tcl.tk が wiki.tcl-lang.org になってるみたいだけど、アナウンスか何かあった? 見た目は変わってる。内容は以前の wiki.tcl.tk から移行みたい。(確証無)
wiki.tcl.tk を開くと wiki.tcl-lang.org に転送されたわ .tk は過疎るとドメインごと消えるときあるから移行してくれて安心
へえ。 tcl.tkとtcl-lang.orgはほぼ同一ページだが飛ばされはしないな。
Tcl/Tkにすべてをかけて玉砕したビットウォークという会社があってだな
あの新しい情報と古い情報とサンプルコードと議論とコメントとリンク切れリンクなんでもごちゃまぜバームクーヘンみたいになってるwikiを整理したらもうちょっと人気が出るんじゃないの
skd.kitをunwrapしてできた skd.vfs\doc\skd.tkd を読みたいのですが doc\〜.tkd を読むソフトと方法とかってどなたかご存知ですか
Tkの趣旨に反するけど Tk-GTK+とかTk-Metroみたいに各種OSのツールキットライブラリと動的リンクして 同じプログラムでもそれが実行されたプラットフォームのUIに合わせられたらかっこいいかもね GNU/Linuxでの透過ウィンドウやWindows 10のフラットテーマとかと協調できたらモチベーションも上がるし。
tclにはこのまま廃れてロストテクノロジーとして10年後くらいに発掘されてほしいわ
マジでQZってなんだ?検索してもソフトウェア開発のWebページしかそれっぽい情報がねえw
>>303 Swingじゃなくて、AWTとかSWTだな。 ビットウォークの名前が過去ログの2から消えてる 過去のレガシーがまったく受け継がれてないわけだ 本田が2003年からいてワロタ
Python3.7でTKinterを試したところHiDPI環境では 低解像度のものが拡大されて表示されてしまうようです。 >>> import tkinter >>> tkinter.TkVersion としたところ8.6でした。 HiDPI環境で拡大表示ではなく、 大きいサイズのフォントで適切に表示する方法はないのでしょうか?
>>314 求めている回答ではないかも知れませんが、 tk scalingコマンドでスケーリングを変更できるようになっています。 Windows上でwishを起動して以下のコマンドを実行したところ 1.0と3.0では、フォントの大きさに違いがでることを確認できました。 (Tcl-Tk) 1 % tk scaling 1.3333333333333333 (Tcl-Tk) 2 % tk scaling 1.0 (Tcl-Tk) 3 % label .l0 -text "Hello!" .l0 (Tcl-Tk) 4 % pack .l0 (Tcl-Tk) 5 % TKinterは使った事がないですが、こんな感じですかね? root = Tk()kisxe root.tk.call('tk', 'scaling', 2.0)」 標準(72 dpiモニターに相当)の1.0倍に変更してフォントサイズで指定 するようにしてみてはどうでしょうか? >>316 返信有難うございます。 英語があまり得意ではないのですがTclTKはHiDPIに対応してないみたいですね。 tk scalingも試してみたのですがスケーリングを2倍にすると表示も二倍になってしまいました(^_^;) ちょっとややこしいですが、 ・Windowsのスケーリングを二倍 ・Tkのスケーリングを1倍 ・フォントサイズを10 という感じにすると フォントサイズが20になってくれればくっきり表示されるのですが フォントサイズ10の文字が二倍に拡大されて表示される、という状態です。 Tkのスケーリングを0.5倍にして、フォントサイズを20を直に指定して表示できるか試してみましたが 1.0以下は指定できないみたいで駄目でした。 GTKに入門してみたいと思います。 すみません解決しました。 python.exeを右クリック→互換性タブ→HiDPI設定をいじる
tkinterの話だから変だとは思ってたが pythonの話かよ まじ死ねや
すぐりふひとはtcl/tkから離れて幸せになれたのに本田と来たら・・・
tcltkで書いたものとtkinterで書いたものを比べたら 速度はtcltkの方が若干勝ってるんだけど tkinterで書いたものの方がスクロールはスムーズだったのと 大量にgrid入れたscrollableFrameのスクロールだと tkinterの方がヌルヌル動いたのでtkinterの勝ち
tclは永遠に不滅ですか 少なくとも向こう10年くらいはメインストリームですか
あのwindowsもtclで書かれているくらいだからな!
python+tkinterで用が足りるのでtclは要らない子
tcl/tkはRを使ったデスクトップアプリを作るときに重宝する デスクトップアプリにこだわらずにshinyでwebアプリ作ればいいじゃんと言われれば返す言葉がないが
set s [format "%d %d %d" 1 2 3] とかを set lst [list 1 2 3] から set s [format "%d %d %d" lst] あるいは set s [format "%d %d %d" *lst] みたいに書くことは出来ますか? 後者二つともエラーになるので あるとしたら正しい書き方は何ですか?
何がやりたいの? lstの要素が1、2、3で変数sの値を文字列"1 2 3"にしたいなら下のでいいけど set s $lst
set s [format "%03d %03d %03d" $lst] みたいなのでもうまくいかないんです
integer指定してるのに文字列食わしてるからじゃん
set lst [list [expr 1] [expr 2] [expr 3]] set s [format "%03d %03d %03d" $lst] これでもダメでした><
tclでは全ての変数が文字列なんだからそりゃそうなる 数値1をリストlstに格納するときに数値1は文字列1に変換される
set lst [list 1 2 3] set s [format "%03d %03d %03d" [lindex $lst 0] [lindex $lst 1] [lindex $lst 2]] これならエラーにならないんですが面倒なので もっと良い方法ありませんか?
あと 335 さんの主張する仕様だと [lindex $lst 0] は文字列なので 333 さんの話と矛盾してる気がしますがどういうことでしょう
数値に変換できるときは勝手に変換してくれるんだね知らなかった 見当違いなこと言ってごめん
なんとなくこれで行ける気もしたのでやってみたのですが set s [format "%03d %03d %03d" [list $lst]] だめでした>< もう一息な気がするのであきらめつかずモヤモヤしています
代行レスはここへ http://2chb.net/r/operatex/1549681970/160 160 名前: [Φ|(|´|Д|`|)|Φ] BBxed!! 臨時で名無しです[] 投稿日:2019/02/16(土) 13:42:57.64 お手数ですがよろしくお願いします。 【板名】プログラム技術 【スレ名】●●●●TCL/TKなら俺に聞け 4●●●● 【スレのURL】http://2chb.net/r/tech/1375678740/l50 【名前欄】代行経由 【メール欄】sage 【本文】↓ >>330 330さんが考えているような書き方は出来ないと思われる。 Tclのリストは空白区切りの単なる文字列です。 list 1 2 3 は3つの要素のリストを生成するが、 "1 2 3" という1つの文字列という扱いです。 よって、set s [format "%d %d %d" $lst] とすると、 set s [format "%d %d %d" "1 2 3"] のように置き換えられます。 求めている回答ではないかも知れませんが、ひと手間かけて以下 のようなことはできます。 リストの各要素をそれぞれ分離して別々の変数にするには、 lassignコマンドを使います。 set lst [list 1 2 3] lassign $lst x y z set s [format "%d %d %d" $x $y $z] これでどうでしょうか。 set lst [list 1 2 3] set s [eval "format {%02d %02d %02d} $lst"] これでいけました ほんとうにありがとうございました
>>330 set s [format "%d %d %d" {*}[list 1 2 3] ] set lst [list 1 2 3] set s [format {%02d %02d %02d} {*}$lst] これでもいけました ほんとうにありがとうございました
>>344 この書き方初めて見た いつもforeachで回してたけどこういう書き方もできるんだね >>324 OSと、tcl/tk, Python/Tkinter それぞれのバージョンと、バイナリパッケージでインストールしたなら、 パッケージの入手元は? >>328 tcl皆無にするなら、tkinterも動かないんわけだけど >>345 ver8.4迄はリストをバラして個別に適用するには、evalを使うのが"正統的裏技"だったがver8.5から{*}が導入されマニュアル8.6版のevalの項目ではこちらの使用が推奨されている。 ver8.6のマニュアルでは、eval,info,Tclの項目に小分けして{*}の説明が少しだけある。 >>349 *$lst じゃなくて {*}$lst って書かないといけないのは 文法仕様上前者が無理だったということかな 前者が実現出来ない理由が良く判らない >>351 多くの言語で、ポインタの内容を *str_pp の様に記す習慣がある。 紛らわしくないように "*" ではなく "{*}" を使用したのかも、単なる趣味かも、判りません 単なる変数展開と個々の引数としての展開では大きく違うからあえて冗長な書き方をすることでパッと見で両者の区別がつくようにしてるんじゃないかな
>>354 やりたいことをもう少し具体的に…(やっぱり難しくてお手上げかもしれないが) >>332 set s [format "%03d %03d %03d" {*}$lst] tkinter の話で申し訳ないのですが、 tcltk側の関数が返してくる tcl形式リスト(文字列)をpython 形式のリストに変換するにはどうしたらいいのでしょうか? >>> import tkinter >>> root = tkinter.Tk() >>> root.tk.eval("package require math::fourier") '1.0.2' >>> root.tk.eval("math::fourier::dft %s" % tkinter._stringify([1, 2, 3]) ) '{6.0 0.0} {-1.499999999999999 0.8660254037844388} {-1.499999999999999 -0.8660254037844388}' math::fourier::dft (離散フーリエ変換) を例として取り上げました。 tkinter._stringify は丁度よくpython形式のリストを整形してくれます。 [1, 2, 3 ] → { 1 2 3 } ですが、その逆が分かりません。
解決しました。 eval を使わず、call を使えということですね。 >>> root.tk.call("math::fourier::dft", [1, 2, 3] ) ((6.0, 0.0), (-1.499999999999999, 0.8660254037844388), (-1.499999999999999, -0.8660254037844388))
よくみろ それは list じゃなくて tuple だ
>>> list(map(list, root.tk.call("math::fourier::dft", [1, 2, 3]) )) [[6.0, 0.0], [-1.499999999999999, 0.8660254037844388], [-1.499999999999999, -0.8660254037844388]] できますた
ActiveTcl 8.6 インストール場所変更する方法ありますか
exe直接実行せずに 7zipとかで中身ほじりながら 自分で展開して必要なものだけ配置 あとは環境変数でOK
>>371 370です。有難うございます。 windows7 ではインストール箇所固定で変更できませんでしたが、何故かwindows8.1ではあっさり指定可能でした。 狐につままれた気がします。 Next Scripting Framework https://next-scripting.org/xowiki/ NX is a highly flexible, Tcl-based, object-oriented scripting language. It is a descendant of XOTcl and was designed based on 10 years of experience with XOTcl in projects containing several hundred thousand lines of code. While XOTcl was the first language designed to provide language support for design patterns and to provide a highly dynamic programming environment, the Next Scripting Framework (NSF) and NX add to these features support for language-oriented programming. M.Hiroi氏のtcltkのページまさかの現在更新中? マイブームなのかな
Hiroi氏のサイト、tcltk以外の言語も分かり易く要点がまとまってるので昔からお世話になってます。
8月から実用編ががっつり増えてるのな。 tailcall なんてのが使えるようになってたんだな。知らなかったよ。
385 です 少し慌てました。 正式な予告は次の様です。もうすぐのようです。 Tcl/Tk 8.6.10 Release Announcement November 21, 2019
Tk improvements on Mac OSX (including Catalina) / Aqua - internationalized text entry with IME とあったので試してみた。(macOS Sierra 10.12.6) ・tcl/tk 8.5.9 (macに標準インストール済 ) text widget/entry widget で IMEが機能しない。 よそからのペーストは可能 (一部カラー絵文字はペーストもできない) ・tcl/tk 8.6.9 (homebrewパッケージで導入) IME で入力中の文字が表示されない。文節毎の変換候補のボックスは表示される。 カラー絵文字ペーストでクラッシュしました. . . ・tcl/tk 8.6.10 (ソースからコンパイル ) IMEとの連携はそれなりにできているようです。 ただし [カラー絵文字] 直後の入力が制御不能になりやすく、まだ不安定です。 それほど [カラー絵文字] を入力したい!ってワケではないけど指標にはなるでしょう。 もうちょっと頑張って欲しいですね。 少しずつ進化してるのは嬉しいです。
フリーソフトに註文するって but in vane ...
exec の結果を逐一表示しながら、最後にエラーでても落ちないようにできない? catch {exec long_runtime} mess puts $mess とすると exec の処理が全部終わってから、処理結果が表示される。
今更だけど tcl/tk はトロさ回避のため表示は遅延実行が徹底してる まめにupdate入れないと待たされた後、まとめて表示になり易い
教えて下さい tcl/tkのメソッドってざっくり言って何? procとどう違うもの?
正しいものを選べ 1.マクロ 2.コマンド 3.インターフェース 4.プロシジャ
へー、そんなのあるんだ 知らんかった。 C++のメンバ関数のことだね、メソッド
boostよりもtcl/tkの方が普及して欲しかった
Tclの正規表現で、先読みは(?=re)ですが 後読み(?<=re)って使えないんでしょうか? 使えないとしたら、ほかに同じことできる方法ありますかね。 バージョンは8.4です。