1 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 14:52:44 ] 【英語サイト】 プロジェクト本拠地 tcl.sourceforge.net/ 最新版ソースコード ftp://ftp.tcl.tk/pub/tcl/nightly-cvs/ The Tcler's Wiki wiki.tcl.tk/ The comp.lang.tcl Newsgroup groups.google.com/group/comp.lang.tcl/ ActiveTcl www.activestate.com/products/activetcl/ 【日本語サイト】 もっとTcl/Tk www.interq.or.jp/japan/s-imai/tcltk/ Tcl/Tk Scripting Laboratory www.geocities.jp/urano343/tcltk.html Tcl/Tk Primer mibai.tec.u-ryukyu.ac.jp/~oshiro/Doc/tcltk_primer/ Tcl 8.4.1 Manual Command Reference www.freesoftnet.co.jp/tclkits/doc/TclCmdRef/tcl_contents_jp.htm CategoryTclTk - mynote reddog.s35.xrea.com/wiki/CategoryTclTk.html 【前スレ】 ●●●●TCL/TKなら俺に聞け●●●● pc11.2ch.net/test/read.cgi/tech/1033628416/
301 名前:298 mailto:sage [2008/07/10(木) 10:32:22 ] >>300 ご協力ありがとう。 読んでみたけどどうやらこれはTclインタプリタ側(Tclスクリプト側)から 外部コマンドを呼び出したときのstderrについて議論しているみたいで、この話とはちょっと違う。 Tcl_CreateInterp()でinterpを作った後、 Tcl_SetStdChannel(channel, TCL_STDOUT); Tcl_SetStdChannel(channel, TCL_STDERR); を呼び出すことでinterpが呼び出すputsコマンドによる標準出力、エラー出力をトラップできることは確認できている。 だがTcl_Eval()やその他のTcl変数を直接いじるAPIを呼び出したときの文法エラー、実行時エラーは出力されないみたいなんだ。 (で、Resultの中に入っている) こいつを、他と同じようにトラップできればいいんだが……。
302 名前:デフォルトの名無しさん mailto:sage [2008/07/10(木) 11:44:58 ] >>297 >>299 www.tcl.tk/doc/howto/thread_model.html
303 名前:デフォルトの名無しさん mailto:sage [2008/07/10(木) 14:59:25 ] >>301 TCL_ERRORだったらResultを出力すればいいだけじゃね?
304 名前:デフォルトの名無しさん mailto:sage [2008/07/10(木) 22:13:52 ] >>298 なんでそんなことそをする必要があるかもう少し詳しく書いた方がいいぞ。そうしないと、 >>303 みたいにすりゃいいだろ思うんだが if (Tcl_Eval(interp, script)!=TCL_OK) { char str;int len;Tcl_Channel e=Tcl_GetStdChannel(TCL_STDERR); str=Tcl_GetStringFromObj(Tcl_GetObjResult(interp), &len); Tcl_Write(err,str,len);Tcl_Flush(interp,err); }
305 名前:304 mailto:sage [2008/07/10(木) 22:23:39 ] あー、どうでもいいけど、Tcl_WriteObjつかうと、Tcl_GetObjResultから一発で済むわ。
306 名前:本田 [2008/07/22(火) 20:12:44 ] TkSTEP 0.3b3 (Tk 4.1) NEXTSTEP(tm)-lookalike-wanabee-hack-kit for Tk Alfredo K. Kojima tkstep0.3b3.tar.gz tkstep8.0.4-2.tar.gz Alfredo Kojima en.wikipedia.org/wiki/Alfredo_Kojima Alfredo Kengi Kojima si3.inf.ufrgs.br/informa/Edicao12/entr_ago00.htm TkSTEPは、現在、開発がストップしてるけど、 windowmakerなど他の仕事で作者は有名なんだな。
307 名前:本田 [2008/07/23(水) 01:18:22 ] The Tcl IRCd www.hping.org/tclircd/ The Tcl IRCd is an IRC server written in the Tcl language. The current version is not a complete implementation of the IRC protocol but should interoperate well with most IRC clients, and allows to register, change nick, create channels, talk on a public channel or in query and so on. The program is small, less than 500 lines of code, and was written in order to be very simple to modify/extend.
308 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 04:12:37 ] string hoge とかって具合に 任意の string * コマンド(?)を追加したりはできないでしょうか。
309 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 20:37:58 ] proc stringHello {} {puts "HELLO WORLD"} set map [namespace ensemble configure string -map] dict append map hello stringHello namespace ensemble configure string -map $map string hello ただし8.5以上。 8.4のときはstringコマンドをtcl_stringなんかに名前を変えて そのうえでそれのラッパーのstringを作ったりしてた。
310 名前:デフォルトの名無しさん [2008/07/24(木) 23:57:42 ] >>269 >$$$c とか $[$[$c]] とか… puts [subst $[subst $[subst $c]]] 遅レスだが…
311 名前:デフォルトの名無しさん [2008/07/27(日) 18:35:14 ] >>269 & >>310 $$var (間接指定)について psg.com/%7Ejoem/tcl/faq.html#DoubleIndirect に丁寧な説明がある。 古い我家頁だが、今でもアクセス可能と思う。
312 名前:デフォルトの名無しさん [2008/07/29(火) 00:59:08 ] BrowseX for Windows使ってた人いない? いきなり消滅してて悲しい・・・
313 名前:デフォルトの名無しさん [2008/08/02(土) 08:48:51 ] Active Tcl やっと8.5.3になった
314 名前:デフォルトの名無しさん [2008/08/05(火) 04:33:00 ] tclコードをソース隠ぺいのため、バイナリ化または、 暗号化したいがどうすればよいでしょうか?
315 名前:デフォルトの名無しさん [2008/08/05(火) 21:26:28 ] バイナリ化(exe化)ならここに色々ある。 home.netyou.jp/22/tanida/MazeOfProgram.htm 隠ぺいのためになるかは不明.
316 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 10:37:56 ] comポートとかソケットをopenで開いてgetsした時、 相手が何も返してこないと、一生待ちつづけてしまうのですが、 タイムアウトさせたりする方法は無いですか?
317 名前:デフォルトの名無しさん mailto:sage [2008/08/12(火) 07:07:15 ] >>316 Tcllibは調べた?
318 名前:デフォルトの名無しさん mailto:sage [2008/08/12(火) 08:05:26 ] >>316 fconfigure -blocking fileeventで非同期に処理するのが良いと思う
319 名前:デフォルトの名無しさん [2008/08/13(水) 20:58:56 ] >>316 この手のシークエンスを記述するためにafter ms命令が用意されている
320 名前:316 [2008/08/14(木) 09:50:55 ] >>318 fileeventがまさに探していた機能です サンクスコ >>319 それは考えたけど、一度発行したgetsを取り消す術がないからダメポ
321 名前:デフォルトの名無しさん mailto:sage [2008/08/24(日) 00:56:41 ] foreach {o i } [regexp -all -inline {<item>(.*?)</item>} $read] { のlsearchとかlreplaceとかで、ネストタグの抽出が簡単にできるのが良い。 perlより全然良い。日本語が問題なく使えるのが良い。簡単GUIも良い。 foreachの中のregexpが速ければもっと良い。なかなか最適化ができない。
322 名前:デフォルトの名無しさん mailto:sage [2008/08/24(日) 01:10:16 ] tclの正規表現は早いほうって聞いたけどなあ・・・
323 名前:デフォルトの名無しさん mailto:sage [2008/08/24(日) 02:59:06 ] Tclで書いたスクリプト自体はそれほど早く動作しないよね。 TclはJITに対応してるという記述がちらほら(wiki.tcl.tk含む)で見かけたので ソースコードを調べたら、スクリプトを内部表現に書き換えるコンパイラはあっても CPUのニーモニックに直接変換してる実装部分は見当たらなかった。 インタプリタ自体がやってることはそれほど複雑ではないので(ほとんどがコマンド自体の実装) 誰か実装してくれればいいなとは思うが、 googleのannualのフォーラムでの議題には特にあがっていないようだ。
324 名前:デフォルトの名無しさん mailto:sage [2008/08/24(日) 09:13:12 ] 速くしたけりゃその部分だけCで書け そもそも コマンド 引数 引数 ... しかなくて、構文などというものもない簡易言語に期待しすぎでしょ。
325 名前:デフォルトの名無しさん [2008/08/24(日) 22:12:31 ] その理屈で言うと括弧しかなくて構文などというもののない簡易言語にも期待できないのか。 それはさておきTclでバイトコードコンパイルしてるってのだけで驚異的じゃない? Tclって意味論的には素直に考えるとevalに満ち溢れたような代物でしょ。
326 名前:デフォルトの名無しさん mailto:sage [2008/08/25(月) 00:18:54 ] インタプリタ作ったり、DLLやsoを簡単にロードできたり、Cとの融合が十分考慮されてる言語なんだから、 処理速度を要求される部分はCで作った方がいいでしょ、マジで。
327 名前:デフォルトの名無しさん [2008/08/25(月) 01:11:39 ] 別にそこには反論してないよ。 それはTclのシンタクスとは直接の関係はないし、Tclが簡易言語とも思わないけど。
328 名前:デフォルトの名無しさん [2008/08/26(火) 00:03:21 ] stdinを1文字単位で扱いたいのですが・・可能ですか? Enter押すまで入力待ちになってしまいます。 機種依存が必要であればlinuxでお願いします。 proc getch {} { return [read stdin -nonewline] } 目的は簡易lessコマンド作成です。
329 名前:デフォルトの名無しさん mailto:sage [2008/08/26(火) 00:10:49 ] >>327 tclはねぇ、ローカルスコープ切れないからちょっとプロシージャが長くなると変数がゴッチャになるのよ。 長いもの書くには向かないと思うがね。
330 名前:デフォルトの名無しさん mailto:sage [2008/08/26(火) 00:44:05 ] zero3 [es]でeTcl使ってるんだけど・・・バージョン進むにつれてサイズでかくなりすぎ。 最新版はついに起動できなくなったwww 動的に拡張を読み込めるのがTclの利点なのに、一つの実行形式に使わない拡張までまとめないで欲しい・・・
331 名前:デフォルトの名無しさん mailto:sage [2008/08/26(火) 01:37:04 ] >>329 Tclなめんな! proc block {body} { eval $body } set x 100 set y 1000 block { set x 200 upvar y y puts "value is $x $y"; # value is 200 1000 } puts "value is $x $y"; # value is 100 1000
332 名前:デフォルトの名無しさん mailto:sage [2008/08/26(火) 01:41:54 ] >>328 wiki.tcl.tk/14693 まあこれを読め tcllib.sourceforge.net/doc/receive.html そして次はこれだ
333 名前:デフォルトの名無しさん [2008/08/26(火) 03:33:43 ] >>332 ありがとうございます。 解決しました!
334 名前:デフォルトの名無しさん mailto:sage [2008/08/26(火) 17:03:54 ] >>331 blockがたくさんネストしたらどこまでupvarしたらいいかわかんなくなっちゃうね。
335 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 13:49:03 ] 日本語に関して質問です。 encoding systemがwindowsではcp932, Linuxではutf-8となっていて、 スクリプトを書くさいにそれぞれの文字コードで保存せねばなりません。 (string bytelengthはいずれの環境も一緒になるので内部ではutf-8のようですが) ですので、windowsで作ったスクリプトをそのままLinuxに持っていくと文字化けしてしまい困っております。 encoding systemをcp932やutf-8に強制的にセットしたところで上手く動きません (windowsでencoding system utf-8にし、スクリプトをutf-8で保存しても文字化け、等) encoding systemの異なる環境間で同一スクリプトで動かす手立てはないものですかね。
336 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 20:35:03 ] Unicodeリテラルで書く。
337 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 03:14:41 ] >>335 もし8.5を使ってるんだったら、、sourceやtclshやwishに-encodingオプションが付いたから、 スクリプトはcp932で書いておいて、最初の3行を #!/bin/sh # the next line restarts using tclsh \ exec tclsh -encoding cp932 "$0" "$@" にすることで、できたりしませんか? 逆に、スクリプトはutf-8で書いておいて、 windowsの関連付けの方で、wishに -encoding utf-8を付けるという手もあるかも。 試せないので、無責任に書きっぱなしですいません。 ところで、スクリプトをwindowsからLinuxへ持っていくときに nkf通して変換というのじゃ駄目なんでしょうか。
338 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 07:12:11 ] >>335 shift-jisで書いておいて #!/bin/sh # \ LANG=ja_JP.SJIS; export LANG; # \ exec tclsh "$0" "$@" で動くかもしれないし、動かないかもしれない。
339 名前:335 mailto:sage [2008/09/10(水) 10:06:33 ] >>336 よくわかりません。 >>337 8.4使っているのですいません。 (ActiveTclの拡張が8.5では少なすぎるので) Linux側で修正したりwindows側で修正したりしたのを日付で同期してるのでnkfやiconvは使いにくいですね。 >>338 凄いぜ。 putsでターミナルに出力する文字は化ける(konsoleのモードがutfだからしかたない)が、 widgetに出力する文字はきちんと出たよ〜。
340 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 20:07:26 ] >>339 puts \u0055\u0069\u0063\u006f\u0064\u0065\u30ea\u30c6\u30e9\u30eb\u304f\u3089\u3044\u3050\u3050\u308c
341 名前: 150.29.213.49 335 mailto:sage [2008/09/10(水) 21:37:28 ] >>340 それはさすがに嫌杉でしょw
342 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 23:21:08 ] >>339 putsは fconfigure stdout -encoding utf8 とかで化けなくなると思う。 でも、そこまで文字コード意識するならWindows<->Linuxでコピーする時に変換するほうが良いんじゃないの? 最近ActiveTcl8.5.4に乗り換えたけど一見拡張が入っていないように見えて、実は Tcl\lib\teapot\package\ 以下に 入っているように思った。
343 名前:デフォルトの名無しさん mailto:sage [2008/09/11(木) 21:48:49 ] >>341 この技はおぼえておけ。かならず役に立つときが来る。
344 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 22:20:20 ] >>339 >>342 ActiveTcl8.5.x のインストーラの最初の画面で、 8.5は8.4とほとんど互換性があるから、 teacupを使うか8.4に上書きインストールしたら たくさんのパッケージが手に入る。 というようなことが書いてました。 まだ8.5に乗り換える気はないんで、それだけ見てキャンセルしたけど。
345 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 02:39:50 ] >>331 >>334 見つかるまでさかのぼるupvarを書いてみました。 upvarが上位の変数名とローカル変数名を並べて書くのに対し、 上位の変数名だけ並べて書いて同じ名前でリンクするようにしてます。 proc upvar2 {args} { set leveldepth [info level] foreach varname $args { for {set varlevel 2} {$varlevel <= $leveldepth} {incr varlevel} { if {[uplevel $varlevel info exists $varname]} { incr varlevel -1 uplevel 1 upvar $varlevel $varname $varname break } } } }
346 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 21:57:20 ] windows mobile でeTcl使ってプログラム作ってたらメモリが足りなくて死んだorz image photoって、-paletteで色数制限しても内部はフルカラーメモリ展開するのね。 やっぱ、WMで使うには富豪過ぎるか、Tclはorz
347 名前:デフォルトの名無しさん mailto:sage [2008/10/16(木) 04:52:51 ] 内部イテレータ欲しい
348 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 13:15:30 ] Tclを久しぶりに書いてみたら、firefox用のpluginが正常にインストールできません。 どういう状況なのでしょうか?ご存知でしたら教えてください。
349 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 15:39:46 ] >>348 スネーク。状況をもう一度よく確認するんだ。 Tcl → バージョンが上がらない Firefox → バージョンあがりまくり 放っておかれたアドオン(plugin)はどうなる?
350 名前:デフォルトの名無しさん mailto:sage [2008/10/28(火) 07:20:41 ] >>348 了解 メインバージョンが上がらないと更新されない訳ですね。
351 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 16:09:38 ] 300Kbyte程のTclTkを書いてみた。 っかZETってソフトのちょい変だけど。 ttp://carnageez.web.fc2.com/catdir/cat.html
352 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 22:10:52 ] 10秒見ただけだが、名前空間使わずによくこんだけ書いたな
353 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 05:18:31 ] >>352 名前空間って何?( ゚д゚)ポカーン
354 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 05:45:22 ] >>353 www.tcl.tk/man/tcl8.3/TclCmd/namespace.htm
355 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 07:09:06 ] >>354 ありがと。 へえーーなんちゃってオブジェクト化って感じなんだね。
356 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 09:51:35 ] Tcl 8.5からapplyコマンドでラムダ式とかが使えるらしいんだけど、 なんか入門的な情報ない?
357 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 16:24:05 ] set lis [another commend] for e $lis { something $e } とかやらずに、$lisに直接何かを作用して写像を得たり、 フィルタリングできるの?
358 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 22:49:17 ] 初心者すぎてすいません。 tclのproc関数の出力をtkのテキストに書き出すにはどのようにすれば いいのでしょうか? いまいちtclとtkの連携方法がわからず困っています。
359 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 02:01:41 ] んと、こんなんやってる set str "hogehoge" f_text_update $str proc f_text_update {win str} if {![winfo exists $win]} { text $win grid $win -column 0 -row 0 } $win delete 0.0 end $win insert end $str }
360 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 02:12:55 ] んもしや回答を誤ったか? f_text_update [f_proc_func] proc f_proc_func {} { return "hogehoge" } これでどうだ
361 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 06:25:56 ] >>359-360 ありがとうございます。 試してみます!!
362 名前:デフォルトの名無しさん mailto:sage [2008/11/05(水) 11:35:53 ] >>356 この記事は読んだ? wiki.tcl.tk/4884
363 名前:デフォルトの名無しさん mailto:sage [2008/11/05(水) 23:30:13 ] λx.λy.x(2)(3) みたいなことをやろうとして、 apply {{x} {return [apply {{y} {return x}} 2]}} 3 てやっても x が返ってくる。 で、 apply {{x} {return [set [apply {{y} {return x}} 2]]}} 3 ってやれば3が帰ってくるが、setを使っている時点で2回目のapplyの戻り値が変数名であることを前提にしていて気持ち悪い。
364 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 14:38:54 ] ツール組込みのtcl環境でもlambda使いたい
365 名前:デフォルトの名無しさん mailto:sage [2008/11/10(月) 23:01:54 ] >>363 こりゃーいったい何をやろうとしとんじゃ?return xで 文字列のxが返るのはあたりまえじゃないか
366 名前:デフォルトの名無しさん mailto:sage [2008/11/11(火) 14:14:10 ] >>365 単に$のつけ忘れじゃ? ついでに質問。 {}内の変数は置換されないよね? そうすると、applyの引数にとる関数にはその引数で宣言した変数しか出てこれない。 これだと、例えば「xを引数にとって、『引数yをとって、yとxとの和を求める関数』を返す関数」とかが表現できない気がするんだけど… ""だとyが束縛されてないし…無理矢理置換するしかない?
367 名前:デフォルトの名無しさん mailto:sage [2008/11/11(火) 20:25:25 ] 答えると、Tclにはクロージャ無いねん。 だからxを置き換えるしかないんじゃないかなあ。 set func {x {return [list y [list expr $x + \$y]] }} apply [apply $func 1] 2 3 こういうこと?
368 名前:デフォルトの名無しさん mailto:sage [2008/11/12(水) 00:20:16 ] >>365 λx.λy..x =λx.x でしょ。 こうならないってこと。
369 名前:デフォルトの名無しさん mailto:sage [2008/11/12(水) 08:27:21 ] >>368 > >>365 > λx.λy..x > =λx.x > でしょ。 そんなequalityを持つλ計算の体系は見たことが無い
370 名前:デフォルトの名無しさん mailto:sage [2008/11/14(金) 22:42:02 ] 結局なんだったんだ。もう
371 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 10:04:27 ] >>370 同感
372 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 10:11:42 ] 点が余計に入った λ.x.(λy.x)は変換するとλx.xだろうと。
373 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 18:14:51 ] >>372 お前が前提にしているλ計算の公理系を言え。 通常のβη変換ではλx.(λy.x) = λx.xは導出できない。
374 名前:デフォルトの名無しさん mailto:sage [2008/11/30(日) 09:35:24 ] Tcl and the Tk Toolkit, Rough Cuts, 2nd Edition * By John K. Ousterhout, Ken Jones www.informit.com/store/product.aspx?isbn=0321601750&rll=1 ついこの前プレンティスから出てる妙に読みにくいTcl本買った俺涙目
375 名前:デフォルトの名無しさん mailto:sage [2008/11/30(日) 19:08:03 ] 日本語で良書なTcl本ってなにがあるかな
376 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 20:34:12 ] ものすごいつまらんこと聞いていいっすか? Tclって、pythonで言うところのinputとかraw_inputって無いの?
377 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 22:11:19 ] gets
378 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 09:18:28 ] >>376 pythonで言うところのinputって何をするものか書いたほうがアドバイスもらえると思うが?
379 名前:376 mailto:sage [2008/12/02(火) 20:46:30 ] >>378 それもそうですね。失礼しました。自分は職業プログラマではな いのであんまりうまく説明できそうにないですが。。 webで見つけた説明によれば、 raw_input関数 標準入力から1行読み込んで(末尾の改行をのぞいたものを)文字列に変換して返す。 >>> s = raw_input() test >>> s 'test' とこんな感じです。上記はインタプリタでの動作です。 呼ばれると、ユーザの入力を待つモードになります。 ユーザが文字列を入力すると変数に文字列が代入されます。 input関数は数値入力用です。
380 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 20:56:09 ] やっぱgetsでいいじゃん tclsh>gets stdin s test tclsh>puts $s test
381 名前:379 mailto:sage [2008/12/02(火) 23:32:57 ] >>380 レスありがとうございます。 getsにはそんな風に書くんですね。 channelIdってのが何を指してるのかサッパリでした。。 明日会社に行ってまた試してみます。 たまーに仕事用ツール作成でスクリプト書くんですが、 諸事情あって今回はTclにで書いていて。。
382 名前:デフォルトの名無しさん mailto:sage [2008/12/04(木) 00:53:01 ] scan $str "%s,%s,%s,%s" a b c d とかもあるよ。scanfみたいなの。 また正規表現を使った読み込みとか便利 set fp [open $fname] gets $fp str regexp {\[\s*\s*\]\s*(\w+)} $str d1 d2とかね 以下が改行取って読み込みとか set fp [open $fname];gets $fp str foreach i [split $str "\n"] { } 以下とかするとバイナリファイルも開けるよ set fp [open $fname] fconfigure $fp -translation binary binary scan [read $fp 1000] H* str
383 名前:デフォルトの名無しさん mailto:sage [2008/12/04(木) 22:00:38 ] binary scanとbinary formatの使い方をすぐ忘れちゃうのは秘密だ
384 名前:デフォルトの名無しさん mailto:sage [2008/12/04(木) 22:04:45 ] >>375 Tcl/Tkデスクトップリファレンスには超おせわになった。 あとEffective Tcl/Tk。この2冊はTcl/Tk修行時代の 10年位前にかなり読んだ。
385 名前:デフォルトの名無しさん mailto:sage [2008/12/10(水) 21:58:58 ] Tcl初心者です。すみません、教えて下さい。 ビルトインコマンドにラッパーをかける事は できるのでしょうか。 例えば proc wrapper {cmd} { catch {eval {$cmd}} status puts "$cmd , $status" } : alias expr {wrapper expr} : expr {1+1} ;# wrapper {expr {1+1}} -> expr {1+1} ,0 的な感じです。
386 名前:デフォルトの名無しさん mailto:sage [2008/12/11(木) 22:04:10 ] >>385 これじゃ無限ループになるだろ。exprはrenameして新たにラッパーのexprを定義すれば?
387 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 17:04:55 ] >312 >BrowseX for Windows使ってた人いない? Hv3というtkhtmlベースのブラウザならある。 tkhtml.tcl.tk/hv3.html
388 名前:デフォルトの名無しさん [2008/12/19(金) 21:06:51 ] Dr. OusterhoutがTclコアチームから抜ける。 groups.google.com/group/comp.lang.tcl/browse_thread/thread/99e2693293b3c945/e54399b0a7dd8ec1?show_docid=e54399b0a7dd8ec1&pli=1
389 名前:デフォルトの名無しさん [2008/12/22(月) 21:53:03 ] プログラムから逃げてきたのに卒論で無理やりやらされてる Cで作ったexeファイルをtcl/tkで作ったGUI上で実行したりできるの? ていうかこんなことも分からない感じで死にそう・・・
390 名前:デフォルトの名無しさん mailto:sage [2008/12/22(月) 23:27:50 ] >>388 そしてその翌日itclのコア組み込みが決定したのであった・・・! >>389 CでCUIのexe作って、Tcl/Tkでガワ作って、パイプで接続とか。 まあどんなことがやりたいかによる。CでDLL作って、それをTcl/Tk から使うほうが楽かもしれない。
391 名前:デフォルトの名無しさん mailto:sage [2008/12/23(火) 00:07:48 ] >>389 unixだと楽だが、windowsだと面倒。
392 名前:デフォルトの名無しさん [2008/12/23(火) 11:28:21 ] え、incr Tcl? 正直オブジェクト指向を入れるなら参照とガベコレの概念を入れる前提で デザインしなおしたほうがいいのに・・・ (逆に言うとこの2つを入れればオブジェクト指向はこれまでどおり拡張でいいし) オブジェクト手動開放とか今日日ありえないっすよ。
393 名前:デフォルトの名無しさん mailto:sage [2008/12/23(火) 11:40:20 ] >>391 んなこたーない。 execで実行するだけ。 so, dllも同じソースで簡単に作れるし(windowsはmingwのgcc使ってるけど)
394 名前:デフォルトの名無しさん mailto:sage [2008/12/23(火) 19:53:07 ] いやwindowsは苦労するよ。 pathや引数周りに落とし穴がいっぱいある。 MSが早くcygnusを買収してくれればいいのに。
395 名前:デフォルトの名無しさん mailto:sage [2008/12/23(火) 20:02:39 ] >>394 落とし穴ってなに
396 名前:デフォルトの名無しさん mailto:sage [2008/12/23(火) 23:13:52 ] path周りの避け方はマニュアルに書いてあるだろ。 で、なんでcygnusが出てくるんだ? もはやTclはcygwinをサポートしてないぞ。 素直にActive TclをインストールしてCはMinGW使えばいい。
397 名前:デフォルトの名無しさん [2008/12/23(火) 23:38:12 ] 8.6b1きたあああああ!!! try 〜 throwきたあああ!!! zlibきたあああ!!! ttk::spinboxきたあああ!!! tk fontchooserきたああああ!!! Canvasの回転文字きたああああ!!! ttkのvistaテーマきたあああ!!!
398 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 12:23:24 ] 今M1だが、修論でtcl使うはめになってubuntuの起動から勉強してるところなんだけど、 tclでパラレルポートからの入力って使える? その辺含んだお勧めの書籍なんかあれば知りたい。
399 名前:デフォルトの名無しさん [2009/01/06(火) 21:25:39 ] wiki.tcl.tk/2816 まずは適当に検索してみればいいとおもうの。
400 名前:本田 [2009/01/08(木) 21:18:47 ] AC3Dマニュアル panda.ecs.cst.nihon-u.ac.jp/~hiroshi/ac3d/ac3dmanj.html 1998年11月6日更新 - AC3Dバージョン2以降に対応 AC3D mail2.nara-edu.ac.jp/~asait/graphics/ac3d/ac3d.htm >3 次元模型 (モデル) を作るためのソフトはモデラーと呼ばれています。 > AC3D はそのモデラーの一つで、随分人気があるようです。 > AC3D は今では商用ソフトになってしまいました。 Shareware Version. locgate.smtn.stavropol.ru/DOCs/Programming/OpenGL/ac3dwinsw2.zip 古いけどTcl/Tkスクリプト使用して参考になる。 最新版。 www.inivis.com/