トップページtech
981コメント378KB

●●●●TCL/TKなら俺に聞け 2●●●●

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001デフォルトの名無しさん2007/05/01(火) 14:52:44
【英語サイト】
プロジェクト本拠地
http://tcl.sourceforge.net/
最新版ソースコード
ftp://ftp.tcl.tk/pub/tcl/nightly-cvs/
The Tcler's Wiki
http://wiki.tcl.tk/
The comp.lang.tcl Newsgroup
http://groups.google.com/group/comp.lang.tcl/
ActiveTcl
http://www.activestate.com/products/activetcl/

【日本語サイト】
もっとTcl/Tk
http://www.interq.or.jp/japan/s-imai/tcltk/
Tcl/Tk Scripting Laboratory
http://www.geocities.jp/urano343/tcltk.html
Tcl/Tk Primer
http://mibai.tec.u-ryukyu.ac.jp/~oshiro/Doc/tcltk_primer/
Tcl 8.4.1 Manual Command Reference
http://www.freesoftnet.co.jp/tclkits/doc/TclCmdRef/tcl_contents_jp.htm
CategoryTclTk - mynote
http://reddog.s35.xrea.com/wiki/CategoryTclTk.html

【前スレ】
●●●●TCL/TKなら俺に聞け●●●●
http://pc11.2ch.net/test/read.cgi/tech/1033628416/
0897デフォルトの名無しさん2012/05/19(土) 01:56:01.60
>>896
まあ、office操作自体は確かに64bitにする必要がないんです

とあるソフトに32bit版と64bit版があって、
これにそれぞれ32bitと64bitのtclが組み込まれていているんですが、
自分が32bitで動くスクリプトを作った後に、
それをそのまま64bitに持っていったらdllの問題で組み込めなかった・・・

悔しい。

という話です。。
64bitのPCに32bitのそのソフトをインストールすれば動作自体はするのですが。
0898デフォルトの名無しさん2012/05/25(金) 16:17:21.15
>>861 のベンチマークはちょっと変えるとTclが圧倒的に速くなるよ。
[Ruby1.9.3]
+ str=str.gsub(/efgh/, "____")
gstr+=str;
- gstr=gstr.gsub(/efgh/, "____")
exec.tm.sec str.length
2sec 256kb
略)
395sec 3840kb
455sec 4096kb
[Tcl8.5.11]
+ regsub -all {efgh} $str ____ str
append gstr $str;
- regsub -all {efgh} $gstr ____ gstr
exec.tm.sec str.length
0sec 256kb
略)
0sec 3840kb
0sec 4096kb
0899デフォルトの名無しさん2012/06/17(日) 21:24:30.09
ジオメトリーマネージャ(pack, grid, place)の働きが
イマイチよくわかりません。通り一遍のことはぐぐれば
わかりますが、ちょっと凝ったことをしようとすると
どれを選んでどういったオプションを指定すればよいか
いつも迷ってしまいます。
何かこうスッキリわかりやすく解説してくれてるとこって
ないですかね。書物は、この手のものはたいてい
高額なのでちょっと手が出ないかな。。。
0900デフォルトの名無しさん2012/06/18(月) 07:52:40.33
>>899
僕も最初はあいまいなまま結果オーライで使ってたけど、Ruby/Tkの本が丁寧な解説で役立ったよ。
Rubyを256倍使うための本・界道編
http://goo.gl/YuZuF
0901デフォルトの名無しさん2012/06/18(月) 09:01:28.10
   ┌─┐
   │●│
   └─┤
   _   ∩
  ( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘
0902デフォルトの名無しさん2012/06/18(月) 22:46:47.84
>>900
256倍シリーズってまだあったんですね。
確かにあれはわかりやすいかも。
Rubyは盲点でした。
0903デフォルトの名無しさん2012/06/19(火) 06:41:21.59
grid最強
pack, placeは後方互換用と思ってよい

…とtkdocsのサイトには書いてあった
http://www.tkdocs.com/tutorial/grid.html
0904デフォルトの名無しさん2012/06/19(火) 19:32:26.30
>>903
packはともかくplaceは置き換えられない部分があると思うなあ。
右上とか右下にくっついて動くロゴみたいなのはgridだとかえって難しい気がする。
gridのコマ割り考えるのも結構面倒。
0905デフォルトの名無しさん2012/06/19(火) 22:00:48.41
pack,place,gridだけで配置するより、ある程度区切ったらframeを乗せて
その中で個別にpack,place,grid使って配置した方が楽
0906デフォルトの名無しさん2012/06/19(火) 22:03:34.92
placeはゲームのようなドット単位で指定したりするときに便利。
俺はTkでそういうのを作る機会がなかったので使ったことがないけど。
gridが全てにおいて万能というわけでもない。
0907デフォルトの名無しさん2012/06/20(水) 14:33:31.82
place使ってプログレスバーを作ってる例ならあるよ。Ruby/Tkだけど。
http://www.dumbo.ai.kyutech.ac.jp/~nagai/RubyTk/?%A4%BD%A4%CE%C2%BE%A4%CE%A5%B5%A5%F3%A5%D7%A5%EB%A5%B9%A5%AF%A5%EA%A5%D7%A5%C8
0908デフォルトの名無しさん2012/06/22(金) 20:34:56.08
tclでテキスト処理して結果をxterm -e w3mで出力させたいのですが、以下のようにしても動きません。
どのようなやり方で出力させればよいでしょうか?

% tclsh
% set a "
test
test
"
% exec xterm -e "echo $a | w3m "

0909デフォルトの名無しさん2012/06/30(土) 01:51:50.71
>>908
意図がよくわからないんだけど、aの中身はホントはHTMLにして
ターミナルにw3mでレイアウト表示したいってことなら、

set ch [open |[list w3m -T text/html << $a] r]
puts [read $ch]; close $ch

一応w3mが整形したとおりに出力される。
0910デフォルトの名無しさん2012/06/30(土) 01:59:12.62
あ、xtermってあれか、Xのターミナルエミュレータか。
じゃあ、ちょっと違うかな。
リダイレクトのバリエーションでTclのチャネルを別プロセスに渡す方法とかあるみたいだから見てみたらいいかもしれない。
http://www.tcl.tk/man/tcl/tutorial/Tcl26.html
0911デフォルトの名無しさん2012/07/01(日) 08:06:09.94
>>909,910
909を見てて下を試しましたら、出力することができました。

% exec xterm -e "w3m << a
$a
"
ありがとうございました。
0912デフォルトの名無しさん2012/07/28(土) 08:05:27.41
Tcl/Tk 8.5.12 Release Announcement
July 27, 2012
0913デフォルトの名無しさん2012/08/02(木) 19:12:11.95
ActiveTcl 8.5.12.0
http://www.activestate.com/activetcl/downloads
0914本田2012/08/02(木) 23:54:45.63
http://downloads.activestate.com/ActiveTcl/releases/8.5.12.0/
ttp://downloads.activestate.com/ActiveTcl/releases/8.5.12.0/ActiveTcl8.5.12.0.296033-html.tar.gz
ttp://downloads.activestate.com/ActiveTcl/releases/8.5.12.0/ActiveTcl8.5.12.0.296033-linux-ix86-threaded.tar.gz
ttp://downloads.activestate.com/ActiveTcl/releases/8.5.12.0/ActiveTcl8.5.12.0.296033-linux-x86_64-threaded.tar.gz
ttp://downloads.activestate.com/ActiveTcl/releases/8.5.12.0/ActiveTcl8.5.12.0.296033-macosx10.5-i386-x86_64-threaded.dmg
ttp://downloads.activestate.com/ActiveTcl/releases/8.5.12.0/ActiveTcl8.5.12.0.296033-win32-ix86-threaded.exe
ttp://downloads.activestate.com/ActiveTcl/releases/8.5.12.0/ActiveTcl8.5.12.0.296033-win32-x86_64-threaded.exe
ttp://downloads.activestate.com/ActiveTcl/releases/8.5.12.0/MD5SUM
ttp://downloads.activestate.com/ActiveTcl/releases/8.5.12.0/SHA256SUM
0915デフォルトの名無しさん2012/09/12(水) 07:36:14.95
PTさん、8.5.12のtclkit作ってくれないのかなぁ
0916デフォルトの名無しさん2012/09/27(木) 00:17:38.23
pack [frame .f -background ""] -fill both -expand 1
ってやると,色々配置したウィンドウを見た目変えずに一気に無効にできる。
destroy .f
で有効化。
だから何っていわれてもアレだけど。
0917デフォルトの名無しさん2012/10/05(金) 20:50:57.35
>>915 こんなんありますけど
http://www.cqi.com.tw/coopermaa/tcl/20041107-01.doc

0918デフォルトの名無しさん2012/10/05(金) 22:25:49.47
>>916
確かにマニュアルにもframeの-bg ""の挙動は書いてあるけど、Windows7+Tk 8.5.11だとバグってるっぽい。
なぜか一旦destroyしてもう一回 frame作るとそれっぽい動きにはなる。最大化するとやっぱりいろいろおかしい。
Linuxだと問題ないのかな。

button .b1 -text hoge
button .b2 -text hoge
place .b1 -x 10 -y 10
place .b2 -x 50 -y 50
pack [frame .f -background ""] -fill both -expand 1
0919デフォルトの名無しさん2012/11/20(火) 00:18:52.14
保守?
0920デフォルトの名無しさん2012/11/26(月) 18:33:59.94
Latest Release: Tcl/Tk 8.5.13 (Nov 12, 2012)
0921デフォルトの名無しさん2012/12/08(土) 02:46:12.21
今、html5がやろうとしてることって、もともとtcl/tkがやろうとしてたことだよね
何で政治的に負けちゃったんだろう
0922デフォルトの名無しさん2012/12/15(土) 17:34:24.88
expectもTCLだからここで聞いていいよね

expectというかtclで、設定ファイルを読みたい
bashのように、設定ファイルと見せかけて実は実行 でもいい

ロードかインクルードの方法ってありますか?
0923デフォルトの名無しさん2012/12/15(土) 20:09:19.04
>>922
sourceじゃダメなのか?
>>920
ActiveTcl来た
PTさんのtclkitも来た
0924デフォルトの名無しさん2012/12/17(月) 13:28:41.57
そろそろ8.6がリリースされるんじゃないかと思って
今年4月にPro Studioのサブスクリプションを自腹で1年延長してみたものの、
8.6に対応するときはメジャーアップデートでアップグレード対象外になる可能性に今頃気付いた。
そんなもったいないことしてる人は他にいないと思うが。。。
でもいいの。ActiveTclだけでもリリースし続けてくれてるだけで満足でございます。
0925デフォルトの名無しさん2012/12/24(月) 22:46:13.42
ついにTcl/Tk 8.6が12/20にリリースされました。
0926デフォルトの名無しさん2012/12/26(水) 21:31:39.97
SL4AでTcl動かそうと思ったけど、うまくいかんな。つまらん
0927デフォルトの名無しさん2013/01/18(金) 03:10:56.99
ubuntuが出すタブレットPCでも動くのかな?
0928デフォルトの名無しさん2013/01/21(月) 19:38:03.19
ActiveTcl 8.6.0.0リリースだよ。
0929デフォルトの名無しさん2013/02/19(火) 07:16:05.65
特定のwidgetだけ再描画することは出来ないでしょうか?
textに数千行読む時にprogressbarを更新したいけど、その他の再描画は無駄なので止めたいのです。
updateだと全体を再描画になります。
0930デフォルトの名無しさん2013/02/21(木) 22:20:12.72
特定widgetだけ再描画する方法は分からないけど、
textへの追加を1行ずつしないで、全部を一旦変数に入れて一発でinsertする、じゃダメなの?
0931デフォルトの名無しさん2013/02/22(金) 21:07:25.94
C:\Program Files\Tcl\demos\Tk8.5\widget.tcl
Scales and Progress Bars 4. Progress bar
はupdate なし
configure命令
0932デフォルトの名無しさん2013/02/23(土) 21:44:59.02
Tkの部品はconfig命令を使うと色や形の現在値は変更できるが、Tkは高速化の為に画面への反映は遅延表示させているので途中経過を表示せずにいきなり最終結果が表示されたりする。
プロバー表示では現在値を強制表示させる為にupdate命令を使うのが定石だがこれが禁じ手になると結構難しいか。

@930番さんの様にまとめて一発表示
Aupdate命令間隔をを10秒置きとか極端に長くする
Bその他の部品はforgetオプション等で退避しておいて後で表示
C?
ところでTkのtext表示は普通はそんなに遅くはないが改行文字なしの長い行を表示させると異様に遅くなるみたい。
0933デフォルトの名無しさん2013/03/06(水) 21:36:21.62
SSD環境なので参考にならんかもしれませんが、2000文字x5000行のファイルでは、
5行おきのアップデートにすると秒単位で高速化されました。
それでもプログレスバー表示しない場合の11.5倍時間がかかりました。

create_file: 483288 microseconds per iteration
gets_lines: 271409 microseconds per iteration
read_bulk: 252275 microseconds per iteration

test_full_update: 5123759 microseconds per iteration
test_skip_update: 3374500 microseconds per iteration
test_no_update: 291779 microseconds per iteration
test_bulk_insert: 285029 microseconds per iteration
0934デフォルトの名無しさん2013/03/09(土) 03:48:33.45
最初にファイルサイズ取得して、サイズに応じてupdateする行数変更するとか。
5000行のファイルに5行おきにプログレスバーを更新するってのが...
0935デフォルトの名無しさん2013/03/12(火) 17:51:41.39
tcl8.6爆速なんだけど↓からだいぶ状況変わったの?
http://d.hatena.ne.jp/satosystems/20121228/1356655565
この速さはただの再帰もループになってる?

5桁とかになると1分以上かかって他に大きく離される
これはループにしても変わらないから多倍長ライブラリの性能かな
0936デフォルトの名無しさん2013/03/12(火) 18:29:56.59
すまん関数名同じだからかんちがいした
fib 38は固まるわ
0937デフォルトの名無しさん2013/03/12(火) 22:01:59.60
>935
私の中古機械で試してみた。式をまとめると約10倍速くなった
どうしてこんなに違うのか??
fib <39088169> term <80312600 microseconds per iteration>
proc fib {n} {
if {$n < 2} { return $n }
return [expr {[fib [expr {$n - 1}]] +[fib [expr {$n - 2}]]}]
}

fib <39088169> term <714145387 microseconds per iteration>
proc fib {n} {
if {$n < 2} { return $n }
set a [expr $n - 2]
set b [expr $n - 1]
set x [fib $a]
set y [fib $b]
return [expr $x + $y]
}
0938デフォルトの名無しさん2013/03/15(金) 22:54:42.21
>>937
exprの引数を{ }で囲むだけでだいぶ違うな
0939デフォルトの名無しさん2013/03/15(金) 23:06:47.65
初心者が初心者に嘘を教えるスレです
0940デフォルトの名無しさん2013/03/15(金) 23:08:30.06
exprの引数を{ }で囲むのは8.6以前からの定石。
2回評価させないようにする。
0941デフォルトの名無しさん2013/03/23(土) 22:06:55.05
937です。より速くより汚く
proc fib {n} {
if {$n < 2} { return $n }
return [expr {[fib [incr n -2]] +[fib [incr n ]]}]
}
fib <39088169> term <72891401 microseconds per iteration> でした。

935 引用のページからC++を複写してVisualC++Express2008(要するに無料ソフト)を使って実行してみた
fib44=701408733
fib45=1134903170
fib46=1836311903
fib47=-1323752223
fib48=512559680

tcl/tk(ver8.5.13)でfib47 は
fib <2971215073> term <1253824233 microseconds per iteration>
1254秒!!。鈍足で正確でした。なっとく

速度、精度、価格、安直さ、どれも一つの側面でしかなく、それらを総合的に評価して最適ソフトを選択することが肝要だと思う。
09429292013/03/24(日) 10:09:02.93
ありがとうございます。規制されてて遅くなりました。
progressbarはupdate idletasksで表示が更新されましたが、古いPCのWindowsXPでは5〜6秒程度updateしないと
メニュー部分が白くなって、その後はprogressbarも更新されなくなります。(update idletasksではダメ)
ということで、数秒おきにupdateしないとprogressbarが更新されません。
見た目を重視しているので無駄はあきらめることにしました。
0943デフォルトの名無しさん2013/03/31(日) 08:08:41.45
Tcl/Tk 8.4.20予告 6/1(随分さきの話だが)に最終版リリース予定らしい。まだ8.4.を改良してたのか。
Tcl/Tk 8.4.20 Release Announcement
June 1, 2013

The Tcl Core Team is pleased to announce the 8.4.20 releases of the Tcl
dynamic language and the Tk toolkit. This is the twentieth and *FINAL*
patch release of Tcl/Tk 8.4. With this release, support for Tcl/Tk 8.4
comes to an end.
0944デフォルトの名無しさん2013/04/03(水) 22:36:01.28
Tcl/Tk 8.5.14 Release Announcement
April 3, 2013
0945デフォルトの名無しさん2013/04/09(火) 21:46:20.56
>>5の予想を裏切り2014年まで持つ勢いだが、
ActiveTcl 8.6.1.0とTclDevKit 6.0の登場が変えてくれることを願う。
0946デフォルトの名無しさん2013/04/20(土) 09:26:13.99
0947デフォルトの名無しさん2013/04/20(土) 09:26:55.27
まだTCLなんてあったんだ。10年前に学校の授業で使ったのが懐かしい。
0948デフォルトの名無しさん2013/04/20(土) 09:51:28.05
まだTCLなんてあったんだ。20年前に学校の授業で使ったのが懐かしい。
0949デフォルトの名無しさん2013/04/20(土) 10:29:53.36
まだTCLなんてあったんだ。30年前に学校の授業で使ったのが懐かしい。
0950デフォルトの名無しさん2013/04/20(土) 10:31:56.44
30年前には存在しない
0951デフォルトの名無しさん2013/04/20(土) 10:47:05.42
おーまいがー
0952デフォルトの名無しさん2013/04/24(水) 15:08:39.78
http://wiki.tcl.tk/37866

なるほどなぁ…centos 5.5かぁ…
0953デフォルトの名無しさん2013/05/07(火) 12:31:39.81
age
0954デフォルトの名無しさん2013/05/10(金) 09:11:32.01
ActiveTcl 8.5.14.0 released
http://code.activestate.com/lists/tcl-core/13226/
0955デフォルトの名無しさん2013/06/05(水) 20:40:09.70
Tcl/Tk 8.4.20 final patch release
code.activestate.com/lists/tcl-core/13294/
0956デフォルトの名無しさん2013/07/11(木) NY:AN:NY.ANID:YGMQYZf2!
海外ですらもtkはディスられていた。
0957デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
TKは衰退しました
0958デフォルトの名無しさん2013/07/15(月) NY:AN:NY.AN
そろそろ次スレ立てた方がいいと思う
0959デフォルトの名無しさん2013/07/17(水) NY:AN:NY.AN
新このホストではしばらくスレ立てられません

【英語サイト】
プロジェクト本拠地
http://tcl.sourceforge.net/
最新版ソースコード
ftp://ftp.tcl.tk/pub/tcl/nightly-cvs/
The Tcler's Wiki
http://wiki.tcl.tk/
The comp.lang.tcl Newsgroup
http://groups.google.com/group/comp.lang.tcl/
ActiveTcl
http://www.activestate.com/products/activetcl/

【日本語サイト】
もっとTcl/Tk
http://www.interq.or.jp/japan/s-imai/tcltk/
Tcl/Tk Scripting Laboratory
http://www.geocities.jp/urano343/tcltk.html
Tcl/Tk Primer
http://mibai.tec.u-ryukyu.ac.jp/~oshiro/Doc/tcltk_primer/ ← 応答なし
Tcl 8.4.1 Manual Command Reference
http://www.freesoftnet.co.jp/tclkits/doc/TclCmdRef/tcl_contents_jp.htm
CategoryTclTk - mynote
http://reddog.s35.xrea.com/wiki/CategoryTclTk.html

【前スレ】
●●●●TCL/TKなら俺に聞け 2●●●●
http://toro.2ch.net/test/read.cgi/tech/1177998764/
●●●●TCL/TKなら俺に聞け●●●●
http://pc11.2ch.net/test/read.cgi/tech/1033628416/
0960デフォルトの名無しさん2013/07/17(水) NY:AN:NY.AN
次スレですん

●●●●TCL/TKなら俺に聞け 3●●●●
http://toro.2ch.net/test/read.cgi/tech/1374052935/
0961デフォルトの名無しさん2013/07/18(木) NY:AN:NY.AN
保守あげ
0962デフォルトの名無しさん2013/07/24(水) NY:AN:NY.AN
うげ
0963デフォルトの名無しさん2013/07/24(水) NY:AN:NY.AN
うめとくか
0964デフォルトの名無しさん2013/07/24(水) NY:AN:NY.AN
0965デフォルトの名無しさん2013/07/24(水) NY:AN:NY.AN
0966デフォルトの名無しさん2013/07/24(水) NY:AN:NY.AN
0967デフォルトの名無しさん2013/07/24(水) NY:AN:NY.AN
0968デフォルトの名無しさん2013/07/24(水) NY:AN:NY.AN
0969 忍法帖【Lv=40,xxxPT】(0+0:5) 2013/07/25(木) NY:AN:NY.AN
マンコ
0970デフォルトの名無しさん2013/07/25(木) NY:AN:NY.AN
0971デフォルトの名無しさん2013/07/27(土) NY:AN:NY.AN
0972デフォルトの名無しさん2013/08/02(金) NY:AN:NY.AN
>>960
先に落ちてしまった?
0973デフォルトの名無しさん2013/08/02(金) NY:AN:NY.AN
2020年まで持たなかったなw
0974デフォルトの名無しさん2013/08/02(金) NY:AN:NY.AN
前スレは4年半も持ったので、このスレも2012年くらいまではいけるという予言

このスレは6年2か月も持ったので、次スレも2020年くらいまではいけるという予言

次スレは流産だったので、次々スレもいつ落ちるか判らないという予言

こうですね
0975デフォルトの名無しさん2013/08/02(金) NY:AN:NY.AN
>いつ落ちるか判らない

って予言ちゃうし
0976デフォルトの名無しさん2013/08/02(金) NY:AN:NY.AN
ume
0977デフォルトの名無しさん2013/08/02(金) NY:AN:NY.AN
天才チンパンジーのアイちゃんを召喚しなかったから落ちたんだな。
0978デフォルトの名無しさん2013/08/02(金) NY:AN:NY.AN
ume
0979デフォルトの名無しさん2013/08/02(金) NY:AN:NY.AN
埋め
0980デフォルトの名無しさん2013/08/04(日) NY:AN:NY.AN
次スレ消滅するの早過ぎだろ…
0981デフォルトの名無しさん2013/08/05(月) NY:AN:NY.AN
次スレです

●●●●TCL/TKなら俺に聞け 4●●●●
http://toro.2ch.net/test/read.cgi/tech/1375678740/
レス数が950を超えています。1000を超えると書き込みができなくなります。