X



●●●●TCL/TKなら俺に聞け 4●●●●
0001デフォルトの名無しさん
垢版 |
2013/08/05(月) NY:AN:NY.AN
各種 wrapper でtkってるひとはいても
生で使ってるひとはほとんど居ない希ガス

【英語サイト】
プロジェクト本拠地
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なら俺に聞け 3●●●●
http://toro.2ch.net/test/read.cgi/tech/1374052935/
●●●●TCL/TKなら俺に聞け 2●●●●
http://toro.2ch.net/test/read.cgi/tech/1177998764/
●●●●TCL/TKなら俺に聞け●●●●
http://pc11.2ch.net/test/read.cgi/tech/1033628416/
0346デフォルトの名無しさん
垢版 |
2019/02/16(土) 17:11:56.78ID:STqQL4YT
んー expand でも検索したつもりだったのになー

http://www.geocities.co.jp/SiliconValley/4137/dir1/tcltkevolution85.html
>なお、{*}は、8.5がαリリースだったときには{expand}というトークンでして、
>このページにも長くそのように書いていましたが、 正式リリースに伴って{*}と変更されました。
0348デフォルトの名無しさん
垢版 |
2019/02/16(土) 19:34:26.00ID:kXtbvz/w
>>324
OSと、tcl/tk, Python/Tkinter それぞれのバージョンと、バイナリパッケージでインストールしたなら、
パッケージの入手元は?

>>328
tcl皆無にするなら、tkinterも動かないんわけだけど
0349デフォルトの名無しさん
垢版 |
2019/02/16(土) 22:13:00.74ID:WrrsgfdN
>>345
ver8.4迄はリストをバラして個別に適用するには、evalを使うのが"正統的裏技"だったがver8.5から{*}が導入されマニュアル8.6版のevalの項目ではこちらの使用が推奨されている。
ver8.6のマニュアルでは、eval,info,Tclの項目に小分けして{*}の説明が少しだけある。
0350デフォルトの名無しさん
垢版 |
2019/02/17(日) 11:27:32.85ID:7mUUrd8D
同じ動作をさせてるつもりなのですが
ぬるぬる感が明らかに違うので

tkinter + tix
https://ideone.com/0fB1OD

Tcl/Tk + BWidget
https://ideone.com/dpBcd3

違うものを比べてると言われればそうなのかも知れません
0351デフォルトの名無しさん
垢版 |
2019/02/17(日) 11:34:57.16ID:7MWZQWrl
>>349
*$lst じゃなくて {*}$lst って書かないといけないのは

文法仕様上前者が無理だったということかな
前者が実現出来ない理由が良く判らない
0352デフォルトの名無しさん
垢版 |
2019/02/17(日) 17:33:15.98ID:MVql6Ciy
>>351
多くの言語で、ポインタの内容を *str_pp の様に記す習慣がある。
紛らわしくないように "*" ではなく "{*}" を使用したのかも、単なる趣味かも、判りません
0353デフォルトの名無しさん
垢版 |
2019/02/18(月) 10:22:49.56ID:jrTRVIL4
単なる変数展開と個々の引数としての展開では大きく違うからあえて冗長な書き方をすることでパッと見で両者の区別がつくようにしてるんじゃないかな
0354デフォルトの名無しさん
垢版 |
2019/02/18(月) 15:25:56.92ID:bbNHvPxv
lassign で型限定する方法ない?
0355デフォルトの名無しさん
垢版 |
2019/02/23(土) 22:18:41.43ID:05po+dKO
>>354
やりたいことをもう少し具体的に…(やっぱり難しくてお手上げかもしれないが)
0358デフォルトの名無しさん
垢版 |
2019/03/10(日) 15:03:39.13ID:uFsYqTSV
>>344
0361デフォルトの名無しさん
垢版 |
2019/04/19(金) 08:27:51.90ID:K+Fou2p2
Tcl/Tkだろ!ボケ!
0365デフォルトの名無しさん
垢版 |
2019/06/24(月) 19:46:44.99ID:c6qVqrI9
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 }
ですが、その逆が分かりません。
0366デフォルトの名無しさん
垢版 |
2019/06/25(火) 13:56:27.93ID:pO4dP3rM
解決しました。 eval を使わず、call を使えということですね。
>>> root.tk.call("math::fourier::dft", [1, 2, 3] )
((6.0, 0.0), (-1.499999999999999, 0.8660254037844388), (-1.499999999999999, -0.8660254037844388))
0367デフォルトの名無しさん
垢版 |
2019/06/25(火) 17:08:51.27ID:XhZtJiMw
よくみろ
それは list じゃなくて tuple だ
0368デフォルトの名無しさん
垢版 |
2019/06/25(火) 19:41:06.33ID:pO4dP3rM
>>> list(map(list, root.tk.call("math::fourier::dft", [1, 2, 3]) ))
[[6.0, 0.0], [-1.499999999999999, 0.8660254037844388], [-1.499999999999999, -0.8660254037844388]]

できますた
0369デフォルトの名無しさん
垢版 |
2019/06/26(水) 10:48:27.21ID:7Ob4FOl6
pythonならnumpyのdft使う方が速くね
0370デフォルトの名無しさん
垢版 |
2019/07/19(金) 08:31:00.01ID:Xk8EeMov
ActiveTcl 8.6 インストール場所変更する方法ありますか
0371デフォルトの名無しさん
垢版 |
2019/07/20(土) 13:40:22.94ID:1y0e4GF6
exe直接実行せずに
7zipとかで中身ほじりながら
自分で展開して必要なものだけ配置
あとは環境変数でOK
0372デフォルトの名無しさん
垢版 |
2019/07/21(日) 19:42:43.85ID:2OgYyrCw
>>371
370です。有難うございます。
windows7 ではインストール箇所固定で変更できませんでしたが、何故かwindows8.1ではあっさり指定可能でした。
狐につままれた気がします。
0373本田
垢版 |
2019/08/31(土) 22:41:40.88ID:L1gcRRDJ
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.
0376デフォルトの名無しさん
垢版 |
2019/10/07(月) 11:13:01.24ID:PnP9spqR
https://sourceforge.net/projects/tcl/files/Tcl/8.6.10/
2019-10-04  一年ぶりの更新。未だ配布候補版です。

Tcl Source CodeTimelineを見ると10/1の日付のこれが完成を意味したのかね?
2019-10-01 21:38  (hopefuly) fix build
0378デフォルトの名無しさん
垢版 |
2019/10/08(火) 10:22:21.02ID:xX7RkViq
バイナリならthomasのが安定
0380デフォルトの名無しさん
垢版 |
2019/10/08(火) 21:43:34.22ID:ttfQLc3F
Hiroi氏のサイト、tcltk以外の言語も分かり易く要点がまとまってるので昔からお世話になってます。
0382デフォルトの名無しさん
垢版 |
2019/10/13(日) 20:56:46.24ID:2zguGNaS
8月から実用編ががっつり増えてるのな。
tailcall なんてのが使えるようになってたんだな。知らなかったよ。
0386デフォルトの名無しさん
垢版 |
2019/10/17(木) 18:50:58.80ID:TwA5RghT
去年のやで
0388デフォルトの名無しさん
垢版 |
2019/11/15(金) 23:56:26.85ID:FeK5qZdY
385 です 少し慌てました。 正式な予告は次の様です。もうすぐのようです。

Tcl/Tk 8.6.10 Release Announcement
November 21, 2019
0389デフォルトの名無しさん
垢版 |
2019/11/22(金) 20:00:41.46ID:BBXvLohs
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との連携はそれなりにできているようです。
ただし [カラー絵文字] 直後の入力が制御不能になりやすく、まだ不安定です。

それほど [カラー絵文字] を入力したい!ってワケではないけど指標にはなるでしょう。
もうちょっと頑張って欲しいですね。 少しずつ進化してるのは嬉しいです。
0390デフォルトの名無しさん
垢版 |
2019/11/30(土) 13:19:16.86ID:PS9NkWt5
フリーソフトに註文するって but in vane ...
0391デフォルトの名無しさん
垢版 |
2019/12/13(金) 01:08:58.54ID:aZGEyYG5
exec の結果を逐一表示しながら、最後にエラーでても落ちないようにできない?
catch {exec long_runtime} mess
puts $mess
とすると exec の処理が全部終わってから、処理結果が表示される。
0392デフォルトの名無しさん
垢版 |
2019/12/13(金) 09:38:34.12ID:V90d9jYd
pipe
0393デフォルトの名無しさん
垢版 |
2020/03/29(日) 21:26:23.81ID:g1nB5uxI
今更だけど
tcl/tk はトロさ回避のため表示は遅延実行が徹底してる
まめにupdate入れないと待たされた後、まとめて表示になり易い
0394デフォルトの名無しさん
垢版 |
2020/04/03(金) 07:44:21.86ID:lraMIADv
教えて下さい
tcl/tkのメソッドってざっくり言って何?
procとどう違うもの?
0395デフォルトの名無しさん
垢版 |
2020/04/03(金) 14:30:59.68ID:VVxcL9Mv
正しいものを選べ
1.マクロ
2.コマンド
3.インターフェース
4.プロシジャ
0396デフォルトの名無しさん
垢版 |
2020/04/05(日) 11:04:13.64ID:bxpYlQXG
へー、そんなのあるんだ
知らんかった。
C++のメンバ関数のことだね、メソッド
0397デフォルトの名無しさん
垢版 |
2020/04/05(日) 13:10:25.45ID:P07lI1PF
boostよりもtcl/tkの方が普及して欲しかった
0399デフォルトの名無しさん
垢版 |
2020/05/20(水) 21:13:11.10ID:iiIF/OBf
Tclの正規表現で、先読みは(?=re)ですが
後読み(?<=re)って使えないんでしょうか?
使えないとしたら、ほかに同じことできる方法ありますかね。

バージョンは8.4です。
0401デフォルトの名無しさん
垢版 |
2020/05/26(火) 00:34:36.32ID:TcjQxoen
超初心者でtcl とtkの違いもよくわかってないんですが、
とりあえずMinGWでtclとtk入れて、
http://www.kijineko.com/c-tcltkでhello-world/
このへん見ながら見様見真似でCからハロワだけ出したんですが、ここから先、どうやってC側の関数とかのコードと結びつけるのかいまいちわかりません。
pythonのtkinterでdefした関数を登録したり、C#のWinformsでのButton.Clickのデリゲートみたいな感じで、C/C++の関数ポインタなりを登録するような書き方ができるでしょうか。
0403デフォルトの名無しさん
垢版 |
2020/05/26(火) 09:26:08.65ID:w8HhSxTu
tcl がスクリプト (pythonみたいなもの)
tk がモジュールとかライブラリとか (qtとかwxpythonみたいなもの)

pythonでCモジュール描いたことがあれば
tcl/tkは楽勝

初めてtcl/tkやるなら
https://qiita.com/akinori-ito/items/92ca39617773a2f48e0b
で先にtcl/tkの(C無しで)方を覚えた方が楽
0408デフォルトの名無しさん
垢版 |
2020/08/05(水) 00:50:56.74ID:gYncIR+S
本田は2015年2016年は書き込みがない
つまり1年書き込みないのはトイレ休憩のようなもの
0409デフォルトの名無しさん
垢版 |
2020/08/10(月) 12:49:47.94ID:xTptaQ4o
Tcl/Tk なんて過去の言語かと思っていたら ADC 用のスクリプトが Tcl/Tk だったのでちょっと勉強しようかなと
0410デフォルトの名無しさん
垢版 |
2020/08/10(月) 13:20:07.79ID:wInlBSoO
やって損は無い
0411デフォルトの名無しさん
垢版 |
2020/11/08(日) 20:34:01.47ID:UjMxFc95
Tcl Source CodeTimeline
2020-11-07
14:29
Updated README

一年ぶり間近か
0418本田
垢版 |
2021/01/02(土) 13:58:59.83ID:JQg0lCIi
VTK - Wikipedia
https://ja.wikipedia.org/wiki/VTK
VTKはPython, Java, Tclに対するコア部分のラッパーを提供しているため、
これらのインタプリタ言語を使ってVTKのアプリケーションを書くことも可能である。
0422本田
垢版 |
2021/01/04(月) 10:01:22.01ID:broo8Cb/
Design and Development of a CPU Scheduler Simulator for Educational Purposes Using SDL | SpringerLink
https://link.springer.com/chapter/10.1007/978-3-642-21652-7_5
Abstract
This paper presents the design and development of a CPU scheduler simulator using SDL.
This simulator enables us to study the behavior of one level and multilevel queue scheduling algorithms (including the real-time ones),
and to obtain performance statistics for algorithm evaluation.
In addition, a multi-platform graphical user interface, based on the Tcl/Tk language,
has been developed to simplify the simulator use.
The paper also presents our experiences in using SDL for the specification of CPU scheduling algorithms for educational purposes.
0424本田
垢版 |
2021/02/06(土) 10:42:27.93ID:gX3gIC8w
FreeDOS | The FreeDOS Project
https://www.freedos.org/
Tcl 8.6.11 for DOS
2021-01-30 3:43pm
Ben Collver has compiled Tcl 8.6.11 for DOS.
This is a patch release, so it primarily includes bug fixes and corrections to erratic behavior.
A few things to note in this release:
+ fixed crashes and hangs in lsort + rewrite of zlib inflation + fix auto_path initialization + fix errno management in socket full close.
And a few changes that might cause incompatibilities:
+ revised handling of 4-byte UTF-8 sequences + evised binary encode/decode base64 + Tcl_DStringAppendElement quoting precision + force -eofchar 032 when evaluating library scripts.
We've mirrored the updated version in the FreeDOS files archive at /devel/tcl/8.6.11/ on Ibiblio.
Thanks Ben!

Index of /pub/micro/pc-stuff/freedos/files/devel/tcl/8.6.11
http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/devel/tcl/8.6.11/
0425デフォルトの名無しさん
垢版 |
2021/03/04(木) 20:40:10.96ID:CeSQLNi3
TkのウィジェットのpathNameに許される文字種って、
どのマニュアルを見れば書いてありますか?

Tk8.4で試したら、区切りの「.」(ピリオド)以外なら
記号でも空白改行でもなんでも使えるみたいなんだけど、
ほんとに使っても大丈夫なのかな。

セミコロンでもエスケープすれば使えるけど、
流石にそれは使わないほうが無難かな。
0427デフォルトの名無しさん
垢版 |
2021/03/05(金) 20:48:13.85ID:MFcFhdbO
う、ファイルシステムのpathじゃなくて、Tkのウィジェットのpathでした。
toplevel .w
button .w.b -text Button-1 -commnd "puts OK"
の「.w」や「.w.b」みたいな。

Tclで使える文字なら大丈夫ってことかな。
0428デフォルトの名無しさん
垢版 |
2021/03/05(金) 23:47:49.57ID:T6EM1aqz
Tclのwordであればいいんでしょ
wordはwhite spaceで区切られるけど、Bracesで囲えばwhite spaceもnewlineも含められますね


proc {hana mogera} {a b} {
puts "$a $b"
}

{hana mogera} 1 2
1 2

set {a
b
c} 3
puts ${a
b
c}
3
0429デフォルトの名無しさん
垢版 |
2021/03/25(木) 22:33:12.36ID:5ZmYVyMI
成程、使用可能な文字の記述は、tutorial にも見付けれない。
入門書には大文字で始めると特別扱いされるとか……
この辺りが『とっつきにくい』の印象を与えているのかも。
0430デフォルトの名無しさん
垢版 |
2021/03/29(月) 17:27:48.38ID:wZLbYoN/
button .ボタン1 -text "押してね"
pack .ボタン1
こんなのも普通に通るんだな、まあ英数字が無難だけど
0431デフォルトの名無しさん
垢版 |
2021/04/04(日) 13:28:21.94ID:SVgHBPnw
大文字で特別扱いなんてするか?
word単位に分割したらコマンドや変数の連想配列から探してくるだけなんだし。
0434デフォルトの名無しさん
垢版 |
2021/04/07(水) 14:16:00.13ID:yIe2T1+6
>>431 大文字で始めるとクラスの名前になるかと
…昔のうろ覚えですが…
0435デフォルトの名無しさん
垢版 |
2021/04/21(水) 23:49:03.85ID:jed3rtJU
>>434

ほんとだ
改行もスペースもエスケープすればいけるのに
ドットの次が大文字だと怒られる
0437デフォルトの名無しさん
垢版 |
2021/05/19(水) 03:03:11.94ID:iywlut5a
matplotlib は tcl で操作出来ますか?
0440デフォルトの名無しさん
垢版 |
2021/07/02(金) 22:50:23.24ID:/UbDLLU0
tcl87a3->tcl87a5 になって今までのツール類ではbuildできなくなった どうすりゃいいの?
0444デフォルトの名無しさん
垢版 |
2021/08/28(土) 23:57:21.00ID:4Ycamclz
Tkの日本語マニュアルってどっかにないですか?
Tclは簡単に見つかるけど、Tkのリファレンスマニュアルは英語しか見つからないです。
レスを投稿する


ニューススポーツなんでも実況