●●●●TCL/TKなら俺に聞け 4●●●● at TECH
[2ch|▼Menu]
[前50を表示]
350:デフォルトの名無しさん
19/02/16 11:09:08.07 lF7O1vpr.net
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]
みたいに書くことは出来ますか?
後者二つともエラーになるので
あるとしたら正しい書き方は何ですか?

351:デフォルトの名無しさん
19/02/16 12:37:52.60 8dsmpsXe.net
何がやりたいの?
lstの要素が1、2、3で変数sの値を文字列"1 2 3"にしたいなら下のでいいけど
set s $lst

352:デフォルトの名無しさん
19/02/16 12:43:44.55 lF7O1vpr.net
set s [format "%03d %03d %03d" $lst]
みたいなのでもうまくいかないんです

353:デフォルトの名無しさん
19/02/16 12:51:28.30 8dsmpsXe.net
integer指定してるのに文字列食わしてるからじゃん

354:デフォルトの名無しさん
19/02/16 12:57:13.00 lF7O1vpr.net
set lst [list [expr 1] [expr 2] [expr 3]]
set s [format "%03d %03d %03d" $lst]
これでもダメでした><

355:デフォルトの名無しさん
19/02/16 13:09:24.14 8dsmpsXe.net
tclでは全ての変数が文字列なんだからそりゃそうなる
数値1をリストlstに格納するときに数値1は文字列1に変換される

356:デフォルトの名無しさん
19/02/16 13:12:18.28 lF7O1vpr.net
set lst [list 1 2 3]
set s [format "%03d %03d %03d" [lindex $lst 0] [lindex $lst 1] [lindex $lst 2]]
これならエラーにならないんですが面倒なので
もっと良い方法ありませんか?

357:デフォルトの名無しさん
19/02/16 13:16:17.38 lF7O1vpr.net
あと 335 さんの主張する仕様だと [lindex $lst 0] は文字列なので
333 さんの話と矛盾してる気がしますがどういうことでしょう

358:デフォルトの名無しさん
19/02/16 13:21:28.18 8dsmpsXe.net
数値に変換できるときは勝手に変換してくれるんだね知らなかった
見当違いなこと言ってごめん

359:デフォルトの名無しさん
19/02/16 13:25:32.89 lF7O1vpr.net
なんとなくこれで行ける気もしたのでやってみたのですが
set s [format "%03d %03d %03d" [list $lst]]
だめでした><
もう一息な気がするのであきらめつかずモヤモヤしています

360:デフォルトの名無しさん
19/02/16 15:44:33.35 O+uQ3VIp.net
代行レスはここへ
スレリンク(operatex板:160番)
160 名前: [Φ|(|´|Д|`|)|Φ] BBxed!! 臨時で名無しです[] 投稿日:2019/02/16(土) 13:42:57.64
お手数ですがよろしくお願いします。
【板名】プログラム技術
【スレ名】●●●●TCL/TKなら俺に聞け 4●●●●
【スレのURL】スレリンク(tech板)
【名前欄】代行経由
【メール欄】sage
【本文】↓
>>350
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]
これでどうでしょうか。

361:デフォルトの名無しさん
19/02/16 16:20:43.87 STqQL4YT.net
set lst [list 1 2 3]
set s [eval "format {%02d %02d %02d} $lst"]
これでいけました
ほんとうにありがとうございました

362:デフォルトの名無しさん
19/02/16 16:35:31.07 AfCn0+WA.net
>>350
set s [format "%d %d %d" {*}[list 1 2 3] ]

363:デフォルトの名無しさん
19/02/16 16:49:13.67 vYP1vVnz.net
eval使ったら負け

364:デフォルトの名無しさん
19/02/16 16:52:58.14 STqQL4YT.net
set lst [list 1 2 3]
set s [format {%02d %02d %02d} {*}$lst]
これでもいけました
ほんとうにありがとうございました

365:デフォルトの名無しさん
19/02/16 17:07:55.05 8dsmpsXe.net
>>364
この書き方初めて見た
いつもforeachで回してたけどこういう書き方もできるんだね

366:デフォルトの名無しさん
19/02/16 17:11:56.78 STqQL4YT.net
んー expand でも検索したつもりだったのになー
URLリンク(www.geocities.co.jp)
>なお、{*}は、8.5がαリリースだったときには{expand}というトークンでして、
>このページにも長くそのように書いていましたが、 正式リリースに伴って{*}と変更されました。

367:デフォルトの名無しさん
19/02/16 18:03:56.10 mSqP7pCT.net
存在を知らないと気付かない機能のリスト
URLリンク(sites.google.com)

368:デフォルトの名無しさん
19/02/16 19:34:26.00 kXtbvz/w.net
>>344
OSと、tcl/tk, Python/Tkinter それぞれのバージョンと、バイナリパッケージでインストールしたなら、
パッケージの入手元は?
>>348
tcl皆無にするなら、tkinterも動かないんわけだけど

369:デフォルトの名無しさん
19/02/16 22:13:00.74 WrrsgfdN.net
>>365
ver8.4迄はリストをバラして個別に適用するには、evalを使うのが"正統的裏技"だったがver8.5から{*}が導入されマニュアル8.6版のevalの項目ではこちらの使用が推奨されている。
ver8.6のマニュアルでは、eval,info,Tclの項目に小分けして{*}の説明が少しだけある。

370:デフォルトの名無しさん
19/02/17 11:27:32.85 7mUUrd8D.net
同じ動作をさせてるつもりなのですが
ぬるぬる感が明らかに違うので
tkinter + tix
URLリンク(ideone.com)
Tcl/Tk + BWidget
URLリンク(ideone.com)
違うものを比べてると言われればそうなのかも知れません

371:デフォルトの名無しさん
19/02/17 11:34:57.16 7MWZQWrl.net
>>369
*$lst じゃなくて {*}$lst って書かないといけないのは
文法仕様上前者が無理だったということかな
前者が実現出来ない理由が良く判らない

372:デフォルトの名無しさん
19/02/17 17:33:15.98 MVql6Ciy.net
>>371
多くの言語で、ポインタの内容を *str_pp の様に記す習慣がある。
紛らわしくないように "*" ではなく "{*}" を使用したのかも、単なる趣味かも、判りません

373:デフォルトの名無しさん
19/02/18 10:22:49.56 jrTRVIL4.net
単なる変数展開と個々の引数としての展開では大きく違うからあえて冗長な書き方をすることでパッと見で両者の区別がつくようにしてるんじゃないかな

374:デフォルトの名無しさん
19/02/18 15:25:56.92 bbNHvPxv.net
lassign で型限定する方法ない?

375:デフォルトの名無しさん
19/02/23 22:18:41.43 05po+dKO.net
>>374
やりたいことをもう少し具体的に…(やっぱり難しくてお手上げかもしれないが)

376:本田
19/03/08 06:16:15.50 UCtp3rvd.net
design patterns in tcl tk - YouTube
URLリンク(www.youtube.com)
Brent B Welch
URLリンク(www.beedub.com)

377:デフォルトの名無しさん
19/03/10 00:10:31.28 DeZad1wc.net
>>352
set s [format "%03d %03d %03d" {*}$lst]

378:デフォルトの名無しさん
19/03/10 15:03:39.13 uFsYqTSV.net
>>364

379:本田
19/04/07 22:45:37.16 vq1byQ+H.net
Tcl-Tk vs Wx Widgets
URLリンク(wiki.tcl-lang.org)
wxWidgets - Workshop Complex at bitWalk - Fuhito Suguri
URLリンク(bitwalk.sitemix.jp)

380:本田
19/04/19 06:32:00.09 MQ2wvTRS.net
Xilinx Tcl Store
URLリンク(japan.xilinx.com)

381:デフォルトの名無しさん
19/04/19 08:27:51.90 K+Fou2p2.net
Tcl/Tkだろ!ボケ!

382:デフォルトの名無しさん
19/04/19 12:10:27.05 aQMMTHRZ.net
Tkは無いのかもしれないよ

383:本田
19/06/15 06:50:47.12 ly/5wdGU.net
[PDF]Catenation and Operand Specialization For Tcl Virtual Machine
URLリンク(www.eecg.utoronto.ca)
[PDF]Alternative dispatch techniques for the Tcl VM Interpreter
URLリンク(www.cs.toronto.edu)
[PDF]Alternative Dispatch Techniques for the Tcl VM
URLリンク(www.cs.toronto.edu)

384:本田
19/06/19 06:47:20.92 7+Fihow6.net
[PDF]A History of Tcl in the Browser - Tcl Community Association
URLリンク(www.tclcommunityassociation.org)

385:デフォルトの名無しさん
19/06/24 19:46:44.99 c6qVqrI9.net
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 }
ですが、その逆が分かりません。

386:デフォルトの名無しさん
19/06/25 13:56:27.93 pO4dP3rM.net
解決しました。 eval を使わず、call を使えということですね。
>>> root.tk.call("math::fourier::dft", [1, 2, 3] )
((6.0, 0.0), (-1.499999999999999, 0.8660254037844388), (-1.499999999999999, -0.8660254037844388))

387:デフォルトの名無しさん
19/06/25 17:08:51.27 XhZtJiMw.net
よくみろ
それは list じゃなくて tuple だ

388:デフォルトの名無しさん
19/06/25 19:41:06.33 pO4dP3rM.net
>>> list(map(list, root.tk.call("math::fourier::dft", [1, 2, 3]) ))
[[6.0, 0.0], [-1.499999999999999, 0.8660254037844388], [-1.499999999999999, -0.8660254037844388]]
できますた

389:デフォルトの名無しさん
19/06/26 10:48:27.21 7Ob4FOl6.net
pythonならnumpyのdft使う方が速くね

390:デフォルトの名無しさん
19/07/19 08:31:00.01 Xk8EeMov.net
ActiveTcl 8.6 インストール場所変更する方法ありますか

391:デフォルトの名無しさん
19/07/20 13:40:22.94 1y0e4GF6.net
exe直接実行せずに
7zipとかで中身ほじりながら
自分で展開して必要なものだけ配置
あとは環境変数でOK

392:デフォルトの名無しさん
19/07/21 19:42:43.85 2OgYyrCw.net
>>391
370です。有難うございます。
windows7 ではインストール箇所固定で変更できませんでしたが、何故かwindows8.1ではあっさり指定可能でした。
狐につままれた気がします。

393:本田
19/08/31 22:41:40.88 L1gcRRDJ.net
Next Scripting Framework
URLリンク(next-scripting.org)
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.

394:本田
19/09/16 21:54:31.35 nztdqCoA.net
PL/Tcl - Tcl手続き言語
URLリンク(www.postgresql.jp)

395:本田
19/10/02 22:43:33.08 wneccwRY.net
A Tcl -Tk Form Generator that can be used alone or used to provide a fast Form generation for language in which this activity can be complex
URLリンク(www.codeproject.com)

396:デフォルトの名無しさん
19/10/07 11:13:01.24 PnP9spqR.net
URLリンク(sourceforge.net)
2019-10-04  一年ぶりの更新。未だ配布候補版です。
Tcl Source CodeTimelineを見ると10/1の日付のこれが完成を意味したのかね?
2019-10-01 21:38  (hopefuly) fix build

397:デフォルトの名無しさん
19/10/07 12:53:39.42 MDfEoATU.net
>>396
GJ
x86 x64 binary
URLリンク(wiki.tcl-lang.org)
VC2017 で build
URLリンク(qiita.com)
ActiveTcl
URLリンク(www.activestate.com)

398:デフォルトの名無しさん
19/10/08 10:22:21.02 xX7RkViq.net
バイナリならthomasのが安定

399:デフォルトの名無しさん
19/10/08 20:59:21.88 85kfhJDS.net
M.Hiroi氏のtcltkのページまさかの現在更新中?
マイブームなのかな

400:デフォルトの名無しさん
19/10/08 21:43:34.22 ttfQLc3F.net
Hiroi氏のサイト、tcltk以外の言語も分かり易く要点がまとまってるので昔からお世話になってます。

401:デフォルトの名無しさん
19/10/08 23:16:08.51 J68M6wrj.net
キタ━━(゚∀゚)━━!!

402:
19/10/13 20:56:46 2zguGNaS.net
8月から実用編ががっつり増えてるのな。
tailcall なんてのが使えるようになってたんだな。知らなかったよ。

403:デフォルトの名無しさん
19/10/14 11:39:06.67 Cg/ykvDA.net
更新されてた
URLリンク(www.nct9.ne.jp)

404:デフォルトの名無しさん
19/10/14 21:43:08.82 q4iQYGL8.net
キタ━━(゚∀゚)

405:デフォルトの名無しさん
19/10/17 18:10:25.02 MtQmyIn3.net
URLリンク(sourceforge.net)
Tcl/Tk 8.6.9 Releases
2018-11-16 正式版配布開始 おめでとう!

406:デフォルトの名無しさん
19/10/17 18:50:58.80 TwA5RghT.net
去年のやで

407:
19/10/19 04:40:45 VYVT60v2.net
>>405
キタ━━(゚∀゚)━━!!

408:デフォルトの名無しさん
19/11/15 23:56:26.85 FeK5qZdY.net
385 です 少し慌てました。 正式な予告は次の様です。もうすぐのようです。
Tcl/Tk 8.6.10 Release Announcement
November 21, 2019

409:デフォルトの名無しさん
19/11/22 20:00:41.46 BBXvLohs.net
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との連携はそれなりにできているようです。
ただし [カラー絵文字] 直後の入力が制御不能になりやすく、まだ不安定です。
それほど [カラー絵文字] を入力したい!ってワケではないけど指標にはなるでしょう。
もうちょっと頑張って欲しいですね。 少しずつ進化してるのは嬉しいです。

410:デフォルトの名無しさん
19/11/30 13:19:16.86 PS9NkWt5.net
フリーソフトに註文するって but in vane ...

411:デフォルトの名無しさん
19/12/13 01:08:58.54 aZGEyYG5.net
exec の結果を逐一表示しながら、最後にエラーでても落ちないようにできない?
catch {exec long_runtime} mess
puts $mess
とすると exec の処理が全部終わってから、処理結果が表示される。

412:デフォルトの名無しさん
19/12/13 09:38:34.12 V90d9jYd.net
pipe

413:デフォルトの名無しさん
20/03/29 21:26:23 g1nB5uxI.net
今更だけど
tcl/tk はトロさ回避のため表示は遅延実行が徹底してる
まめにupdate入れないと待たされた後、まとめて表示になり易い

414:デフォルトの名無しさん
20/04/03 07:44:21.86 lraMIADv.net
教えて下さい
tcl/tkのメソッドってざっくり言って何?
procとどう違うもの?

415:デフォルトの名無しさん
20/04/03 14:30:59 VVxcL9Mv.net
正しいものを選べ
1.マクロ
2.コマンド
3.インターフェース
4.プロシジャ

416:デフォルトの名無しさん
20/04/05 11:04:13 bxpYlQXG.net
へー、そんなのあるんだ
知らんかった。
C++のメンバ関数のことだね、メソッド

417:デフォルトの名無しさん
20/04/05 13:10:25.45 P07lI1PF.net
boostよりもtcl/tkの方が普及して欲しかった

418:デフォルトの名無しさん
20/05/09 04:38:22 +Y63WkJa.net
本田もう今年おらんじゃん

419:デフォルトの名無しさん
20/05/20 21:13:11 iiIF/OBf.net
Tclの正規表現で、先読みは(?=re)ですが
後読み(?<=re)って使えないんでしょうか?
使えないとしたら、ほかに同じことできる方法ありますかね。

バージョンは8.4です。

420:デフォルトの名無しさん
20/05/25 23:34:49 5dlRCABz.net
>>419
URLリンク(www.tcl.tk)

421:デフォルトの名無しさん
20/05/26 00:34:36 TcjQxoen.net
超初心者でtcl とtkの違いもよくわかってないんですが、
とりあえずMinGWでtclとtk入れて、
URLリンク(www.kijineko.com)でhello-world/
このへん見ながら見様見真似でCからハロワだけ出したんですが、ここから先、どうやってC側の関数とかのコードと結びつけるのかいまいちわかりません。
pythonのtkinterでdefした関数を登録したり、C#のWinformsでのButton.Clickのデリゲートみたいな感じで、C/C++の関数ポインタなりを登録するような書き方ができるでしょうか。

422:デフォルトの名無しさん
20/05/26 08:06:38 VzPqKPGf.net
swig使え

423:デフォルトの名無しさん
20/05/26 09:26:08 w8HhSxTu.net
tcl がスクリプト (pythonみたいなもの)
tk がモジュールとかライブラリとか (qtとかwxpythonみたいなもの)

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

初めてtcl/tkやるなら
URLリンク(qiita.com)
で先にtcl/tkの(C無しで)方を覚えた方が楽

424:デフォルトの名無しさん
20/05/26 09:30:45 w8HhSxTu.net
あとはこの辺
URLリンク(www.tcl.tk)
URLリンク(www.nct9.ne.jp)

425:デフォルトの名無しさん
20/05/26 09:38:07.88 w8HhSxTu.net
特にここから
URLリンク(www.nct9.ne.jp)

426:デフォルトの名無しさん
20/05/26 10:04:23 PoOm8Fcr.net
>>420
lookaheadはあるけどlookbehindが見当たらず...

427:デフォルトの名無しさん
20/08/04 20:43:52.50 o2xSJm5g.net
>>1からして無理解がひどいけど
人知れず使われていくのはむしろtclの方なんだよな

428:デフォルトの名無しさん
20/08/05 00:50:56.74 gYncIR+S.net
本田は2015年2016年は書き込みがない
つまり1年書き込みないのはトイレ休憩のようなもの

429:デフォルトの名無しさん
20/08/10 12:49:47.94 xTptaQ4o.net
Tcl/Tk なんて過去の言語かと思っていたら ADC 用のスクリプトが Tcl/Tk だったのでちょっと勉強しようかなと

430:デフォルトの名無しさん
20/08/10 13:20:07.79 wInlBSoO.net
やって損は無い

431:デフォルトの名無しさん
20/10/13 00:12:40.29 rGZ6OBphE
C言語はすばらしいです。

432:デフォルトの名無しさん
20/10/14 19:02:54.37 TzQ21R5Y5
東大院生がYouTuberになった理由
URLリンク(www.youtube.com)
教育系YouTuberの1週間を撮ってみた【Vlog】
URLリンク(www.youtube.com)
塾講師をはじめる君へ【新人講師・教師の方へ】
URLリンク(www.youtube.com)
なぜ勉強するのか
URLリンク(www.youtube.com)
文科省で講演してきました【YouTubeによる教育と研究の橋渡し】
URLリンク(www.youtube.com)
学生バイトは要注意!103万の壁ってなに?
URLリンク(www.youtube.com)
教育系YouTuberのノウハウを共有します
URLリンク(www.youtube.com)
初々しい講師時代を暴露します
URLリンク(www.youtube.com)
もしも生徒が全員予備校講師だったら
URLリンク(www.youtube.com)

433:デフォルトの名無しさん
20/10/14 19:03:40.89 TzQ21R5Y5
東大院生がYouTuberになった理由
URLリンク(www.youtube.com)
教育系YouTuberの1週間を撮ってみた【Vlog】
URLリンク(www.youtube.com)
塾講師をはじめる君へ【新人講師・教師の方へ】
URLリンク(www.youtube.com)
なぜ勉強するのか
URLリンク(www.youtube.com)
文科省で講演してきました【YouTubeによる教育と研究の橋渡し】
URLリンク(www.youtube.com)
学生バイトは要注意!103万の壁ってなに?
URLリンク(www.youtube.com)
教育系YouTuberのノウハウを共有します
URLリンク(www.youtube.com)
初々しい講師時代を暴露します
URLリンク(www.youtube.com)
もしも生徒が全員予備校講師だったら
URLリンク(www.youtube.com)

434:デフォルトの名無しさん
20/11/08 20:34:01.47 UjMxFc95.net
Tcl Source CodeTimeline
2020-11-07
14:29
Updated README
一年ぶり間近か

435:デフォルトの名無しさん
20/11/22 23:15:13.96 b60g3zenS
フリーランス向け報酬即日払いサービス『先払い』が、オンライン資金調達プラットフォーム『資金調達freee』β版に掲載開始
URLリンク(prtimes.jp)
フリーランスやパラレルワーカー同士のマッチングプラットフォーム「conema」が、
案件依頼・仲間募集を中心とした掲示板機能(β版)をリリース!
URLリンク(prtimes.jp)
フリーランス薬剤師専門エージェントサービス「きょうりょく薬剤師」、リリース開始。薬剤師の新しい働き方を提唱。
URLリンク(prtimes.jp)
中卒、新聞配達員から月収4億の不動産王へ。姫路の不動産王の投資哲学
URLリンク(hbol.jp)
【アプリ開発で起業】必要な心得とマネタイズ方法のすべて
URLリンク(www.dreamgate.gr.jp)
副業を認める企業に対して「より魅力的に感じる」人は6割以上。
一方、副業を認めない企業に対する魅力度は6割超が「低下した」と回答
URLリンク(prtimes.jp)
みんなが知らない「サラリーマンの生存戦略」副業年収1億円!motoさん伝授
URLリンク(diamond.jp)

436:デフォルトの名無しさん
20/12/14 11:39:03.86 2nyyh9Ew.net
URLリンク(sourceforge.net)
tcl/tk 8.6.11
未だ配布候補版(rc ver.)だが 8.6.11版が配布開始された。
正式版は年越しか?

437:本田
20/12/29 01:21:20.30 jxKOwQJ+.net
Tcl/TK入門 第2版 | SEshop.com | 翔泳社の通販
URLリンク(www.seshop.com)

438:本田
20/12/30 17:57:21.61 WXxdJjwK.net
Tclの栞の詳細情報 : Vector ソフトを探す!
URLリンク(www.vector.co.jp)

439:デフォルトの名無しさん
20/12/30 20:07:32.64 5C2oaWq2.net
>>438
翻訳元と翻訳後が並記されてて助かる・・・

440:本田
20/12/31 12:51:18.32 WKa5NA3G.net
Tkinterの使い方:Canvasクラスで描画した図形を操作する | だえうホームページ
URLリンク(daeudaeu.com)

441:本田
21/01/01 16:55:35.46 N5pHRleG.net
Brent Welch | USENIX
URLリンク(www.usenix.org)
Clustered and Parallel Storage System Technologies | USENIX
URLリンク(www.usenix.org)

442:本田
21/01/02 13:58:59.83 JQg0lCIi.net
VTK - Wikipedia
URLリンク(ja.wikipedia.org)
VTKはPython, Java, Tclに対するコア部分のラッパーを提供しているため、
これらのインタプリタ言語を使ってVTKのアプリケーションを書くことも可能である。

443:本田
21/01/03 10:04:28.41 ogOhTtZ8.net
Critcl - the easy way to use C in Tcl scripts
URLリンク(www.equi4.com)

444:デフォルトの名無しさん
21/01/03 11:47:06.46 TDgWBZTo.net
URLリンク(www2.nhk.or.jp)

445:本田
21/01/03 17:53:50.01 ogOhTtZ8.net
>>436
URLリンク(sourceforge.net)

446:本田
21/01/04 10:01:22.01 broo8Cb/.net
Design and Development of a CPU Scheduler Simulator for Educational Purposes Using SDL | SpringerLink
URLリンク(link.springer.com)
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.

447:本田
21/01/17 00:17:21.92 W0b65eFr.net
BOOK The Tcl Programming Language
URLリンク(wiki.tcl-lang.org)

448:本田
21/02/06 10:42:27.93 gX3gIC8w.net
FreeDOS | The FreeDOS Project
URLリンク(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
URLリンク(www.ibiblio.org)

449:デフォルトの名無しさん
21/03/04 20:40:10.96 CeSQLNi3.net
TkのウィジェットのpathNameに許される文字種って、
どのマニュアルを見れば書いてありますか?
Tk8.4で試したら、区切りの「.」(ピリオド)以外なら
記号でも空白改行でもなんでも使えるみたいなんだけど、
ほんとに使っても大丈夫なのかな。
セミコロンでもエスケープすれば使えるけど、
流石にそれは使わないほうが無難かな。

450:デフォルトの名無しさん
21/03/05 00:58:59.76 T6EM1aqz.net
man n filename

451:デフォルトの名無しさん
21/03/05 20:48:13.85 MFcFhdbO.net
う、ファイルシステムのpathじゃなくて、Tkのウィジェットのpathでした。
toplevel .w
button .w.b -text Button-1 -commnd "puts OK"
の「.w」や「.w.b」みたいな。
Tclで使える文字なら大丈夫ってことかな。

452:デフォルトの名無しさん
21/03/05 23:47:49.57 T6EM1aqz.net
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

453:デフォルトの名無しさん
21/03/25 22:33:12.36 5ZmYVyMI.net
成程、使用可能な文字の記述は、tutorial にも見付けれない。
入門書には大文字で始めると特別扱いされるとか……
この辺りが『とっつきにくい』の印象を与えているのかも。

454:デフォルトの名無しさん
21/03/29 17:27:48.38 wZLbYoN/.net
button .ボタン1 -text "押してね"
pack .ボタン1
こんなのも普通に通るんだな、まあ英数字が無難だけど

455:デフォルトの名無しさん
21/04/04 13:28:21.94 SVgHBPnw.net
大文字で特別扱いなんてするか?
word単位に分割したらコマンドや変数の連想配列から探してくるだけなんだし。

456:本田
21/04/06 21:31:08.84 Eem0iI9R.net
逆引き Common Lisp クックブック:Ltk
URLリンク(lisphub.jp)
bitWalk's: 入門 Tcl/Tk から十年
URLリンク(bitwalk.blogspot.com)

457:デフォルトの名無しさん
21/04/07 13:26:21.26 jbAKLPxH.net
本田は2003年からおるぞ!

458:デフォルトの名無しさん
21/04/07 14:16:00.13 yIe2T1+6.net
>>455 大文字で始めるとクラスの名前になるかと
…昔のうろ覚えですが…

459:デフォルトの名無しさん
21/04/21 23:49:03.85 jed3rtJU.net
>>458
ほんとだ
改行もスペースもエスケープすればいけるのに
ドットの次が大文字だと怒られる

460:本田
21/05/16 00:21:22.15 TxOIjDQs.net
Tcl - データ構造の作成 -レコード,スタック,キュー- | ITドカタ
URLリンク(blog.it-see.net)

461:デフォルトの名無しさん
21/05/19 03:03:11.94 iywlut5a.net
matplotlib は tcl で操作出来ますか?

462:デフォルトの名無しさん
21/05/25 22:16:34.83 kZ1J/aun.net
>>460
ITドカタさんありがたい
いつも参考にさせてもらってます

463:デフォルトの名無しさん
21/05/26 02:32:30.41 tK2AV86O.net
本田はおそらく相当なジジイ
想像しないでおこう

464:デフォルトの名無しさん
21/07/02 22:50:23.24 /UbDLLU0.net
tcl87a3->tcl87a5 になって今までのツール類ではbuildできなくなった どうすりゃいいの?

465:デフォルトの名無しさん
21/07/08 14:40:23.67 MUyMUMuU.net
>>464
普通に諦めればいいと思うよ

466:本田
21/08/01 20:53:40.83 x8WmfhUR.net
Tcl/Tk: 配列からリストへの変換と、リストのソート - HyperWorks Scripts &; Customizations - Altair Products - Altair Community
URLリンク(community.altair.com)

467:デフォルトの名無しさん
21/08/25 21:33:45.12 //fsPv9a.net
今時は行末にセミコロン打つのが流行りなのか?

468:デフォルトの名無しさん
21/08/28 23:57:21.00 4Ycamclz.net
Tkの日本語マニュアルってどっかにないですか?
Tclは簡単に見つかるけど、Tkのリファレンスマニュアルは英語しか見つからないです。

469:デフォルトの名無しさん
21/08/29 00:10:05.19 tV86Jpzl.net
>>468
>>438

470:デフォルトの名無しさん
21/08/29 16:59:57.17 gfJInh/r.net
Tclだけかと思ったらTkもあったのね
その他いろんな情報が入っててありがたいです
ただ日本語訳が...

471:445
21/08/29 17:58:17.10 tV86Jpzl.net
>>470
うん・・・それは私もそう思うけど
英語読めないと我が儘はいえんのよ(´・ω・`)
お互い英語の学習を頑張りましょう

472:445
21/08/29 19:35:13.03 tV86Jpzl.net
翻訳していただいた方には本当に感謝をしております

473:デフォルトの名無しさん
21/10/16 00:03:45.38 tJlxm3AW.net
macosでx11対応のTcl/Tkをインストールしたいのですが...
もともと標準で入っているのですが、x11クライアントではないようです。
ソースコードからインストールすればいいのでしょうか?
まだ試してないですがmacで普通に./configureとかしてうまくいくでしょうか。
ご存知でしたら教えてください。mac捨てろとかはなしでお願いします。

474:デフォルトの名無しさん
21/10/22 20:26:56.81 cl4NFqCg.net
ソースコードから--with-xをつけてインストールできたけど
wish起動するとX11じゃなくてmacのウィンドウが出る。
どうすればいいのやら

475:デフォルトの名無しさん
21/10/24 21:55:25.44 3CkopFKt.net
PATHが もともとMacに入ってる /usr/bin/wish を優先してるとかじゃないの?

476:デフォルトの名無しさん
21/10/25 00:22:05.55 6Otl3mCz.net
レスありがとうございます。
新しくできたwishを起動してもX11じゃないウィンドウが出ます。
もうちょっと頑張ってみます。

477:デフォルトの名無しさん
21/10/25 12:22:38.97 17kCASnx.net
mac知らんけど
普通に考えればOSX 上で独自Xクライアント起動して
そのXのターミナルからwish起動しないといけないだろう
>新しくできたwishを起動してもX11じゃないウィンドウが出ます。
OSXのX相当のものから起動できてるのなら
X11にこだわらなくていいんじゃないの?
まさにこれはtcl/tkは関係なくmac捨てろという話になるな

478:デフォルトの名無しさん
21/10/26 13:08:55.03 5yCnFias.net
>>476
動作環境: macOS High Sierra ver.10.13.6
以下のレシピで tk X11版がmakeできました
( homebrewで入れたtck/tk aqua版に満足しているので make install はしていません )
$ tar xf tk8.6.11.1-src.tar.gz
$ cd tk8.6.11/unix
(tk8.6.11/macosx だと指定オプションを無視してaqua版を作ってしまうようです)
$ CFLAGS="-I/usr/local/opt/tcl-tk/include" ./configure --enable-64bit --with-tcl=/usr/local/opt/tcl-tk/lib --with-x --x-includes=/usr/X11/include --x-libraries=/usr/X11/lib
既にインストール済みのtclディレクトリに合わせて適宜書き換えてください
CFLAGS=... を付けないと /usr/include/tcl.h (ver8.5) を参照しようとして make error になります
$ make
$ otool -L ./wish
libX11 etc. を参照している事を確認
$ install_name_tool -change /usr/local/Cellar/tcl-tk/8.6.11_1/lib:/usr/X11/lib/libtk8.6.dylib $PWD/libtk8.6.dylib ./wish
インストールせずに動作チェックをしたい! (change箇所はotoolの出力を見れば分かります)
$ ./wish
pack [button .b -text {こんにちは X11}]
.b conf -font {{ヒラギノ丸ゴ Pro} 128} -bg #0ff -fg #f0f
$ rm ./wish && make install
インストール

479:デフォルトの名無しさん
21/10/26 21:25:04.67 FIjDTn2o.net
ありがとうございますぅ
macosxで作業しててうまく行かなかったのですが、
その後ログをよくよくみたらX11のオプションを無視して
わざわざunix/configreを呼び出してたので、
最初からunixに移動してconfigureしたらうまくいきました。
一応自己解決しましたが、454さんのレス見てからやればもっと楽できたのに。
ちなみに自分の環境もHigh Sierraですが、これでいけました。
cd ./tcl8.6.11/unix/
./configure
make
sudo make install
cd ../../tk8.6.11/unix/
./configure --with-x --with-tcl=/usr/local/lib/tclConfig.sh
make
sudo make install
ふぅ

480:デフォルトの名無しさん
21/10/26 21:44:08.46 FIjDTn2o.net
あとX11にこだわる理由ですが、Tcl/Tkで自作したGUIツールのウィジェットに
gnuplotのグラフを表示させるためです。
  set win [winfo id .c]
  set gp [open "| gnuplot" w]
  puts $gp "set term x11 window '$win'"
  puts $gp "plot hogehoge"
みたいにやって、gnuplotに流し込むデータを変化させてぐりぐりやります。
もともとLinuxマシンでやってたのをmacに移植しようとしてます。

481:デフォルトの名無しさん
21/10/27 13:24:35.15 wK8HKaYJ.net
winfo id の使い道、初めて知りました
3次元プロットのグリグリまで他アプリの画面に飛ばせる(試してみました)とかX11は自由度高いんですね

482:デフォルトの名無しさん
21/11/11 20:15:13.31 ss69cckK.net
Tcl/Tkで四角じゃないウィンドウってできるのかな
丸いアナログ時計とかありそうだけど

483:デフォルトの名無しさん
21/11/15 17:30:52.36 orggkpZ4.net
素の Tcl/Tk で「丸いアナログ時計」作ってみた (mac版)
少し変えれば winでも出来ると思う
URLリンク(i.imgur.com)
URLリンク(wiki.tcl-lang.org) に方法が紹介されている.
変形ウィンドウ用の拡張パッケージも紹介されてる (試していない)

484:デフォルトの名無しさん
21/11/16 22:14:16.95 2BodVrOz.net
おお素晴らしい
見た目が透過するだけでもありがたいけど、透明なところクリックすると後ろのウィンドウがアクティブになったりする?
それができたら理想的なんだけど。
と思いつつメインで使ってるシステムで試そうとしたら、Linux版はwm attributeに-transparentがないようで...
残念です。
拡張のShapeはいきなり./configureでつまづいて、かなりハードル高そう

485:デフォルトの名無しさん
21/11/19 22:33:18.50 OsKHDI1l.net
>>484
LinuxならTkZinc が動くと思います
リンク先の紹介では
TkZinc used to support it. Now the project seems to have vanished.
なんて書かれてますが
URLリンク(github.com) にあります
mac (Tcl/Tk X11版)では一部手直しが必要でしたがmakeできました
Linuxならそのままで行けるでしょう
> 透明なところクリックすると後ろのウィンドウがアクティブになったりする?
これも出来ます ( >>483 では出来ませんでした)
package require Tkzinc
package require zincGraphics
pack [zinc .zc -width 600 -height 600 -render 1 -backcolor #fcc -lightangle 50]
# canvasウィジットに於ける oval, line, etc. の要領で
# zincウィジット(.zc)に パスを追加していきます
set coords {}
for {set i 0} {$i < 5} {incr i} {
set a [expr 3.141692*2/5*$i]
lappend coords [list [expr 300-200*sin(2*$a)] [expr 300-200*positivecos(2*$a)]]
}
set clip [.zc add curve 1 $coords -closed 1 -visible 0 -fillrule odd]
# パスアイテム(clip)の形状(※)によりトップレベルウィンドウをクリッピング
# ※サイズは勝手にスケールされてしまいます
.zc itemconf 1 -clip $clip

486:デフォルトの名無しさん
21/11/19 22:37:29.26 OsKHDI1l.net
URLリンク(i.imgur.com)
複合パス(.zc contour 〜)を使って xeyes を再現したかったのですがクリッピングすると形が乱れてしまい使い物になりませんでした.
長方形を長方形でくり抜いたような単純なパスならいけます. この辺りは mac特有の問題かもしれません
最後の after 100 main の小細工はそうしないとなぜかエラー吐いて落ちるからです. これも mac 特有の...
他にも回転やスケール機能なんかがあります
ドキュメントが貧弱ですが demoフォルダのサンプルが参考になりました

487:デフォルトの名無しさん
21/11/20 21:48:15.60 EfeaK0DT.net
複合パスによるクリッピングがうまくいかない件
TkZinc のソースを軽く見た感じでは使われてる三角分割アルゴリズムが単純な形状しか想定してないようです
なので Linuxでも変わらないかと思います
ただし、代わりに自力で三角分割して .zc add triangles 〜 で座標列を渡せば穴開きでもなんでもいけます
とにかく領域を三角形で埋め尽くす、非連結な領域間も潰れた三角形で橋渡しすればOKです
package require Tkzinc
package require zincGraphics
pack [zinc .zc -width 600 -height 600 -render 1 \
-highlightthickness 0 -backcolor white -lightangle 50]
set n 64
set coords {}; foreach xc {150 450} {
for {set i 0} {$i <= $n} {incr i} {
set a [expr 3.141592*2/$n*$i]
lappend coords [list [expr $xc+150*sin($a)] [expr 300-300*cos($a)]] \
[list [expr $xc+ 50*sin($a)] [expr 300- 100*cos($a)]] \
}
if {$xc == 150} {
lappend coords {150 0} {150 0} {450 0}
}
}
set clip [.zc add triangles 1 $coords -visible 0]
.zc itemconf 1 -clip $clip
URLリンク(i.imgur.com)
やりたかった xeyesモドキが出来ました

488:デフォルトの名無しさん
21/11/24 00:38:24.65 hZTuTUPb.net
スゴイ、頑張ればいろいろできるんですね。
ただこちらの環境ではTkZincもインストールのハードルがやっぱり高そうです。
configureでTcl/Tkのインストール情報を参照するところからつまづいてます。
自分は職場のLinuxマシンのいちユーザーで
基本的にインストール的なことはユーザー権限でしかできないため
プリインストールのTcl/Tkに拡張機能を追加するのはなかなか難しいです。
今回いろいろ紹介していただいてかなり勉強になりました。
ググってもなかなかたどり着けない情報で、ありがたいです。

489:本田
21/12/01 06:14:15.79 1Uo/TpOg.net
GitHub - avl42/tcl-bitcoin: Bitcoin-related stuff using the scripting language Tcl(/Tk)
URLリンク(github.com)

490:デフォルトの名無しさん
22/01/14 17:58:10.63 t9iJHcg/.net
すみません、最近Tcl/Tk触り始めたんだけど、c言語で、
Tcl_FindExecutable(argv[0])
を書かないとGUIの日本語が文字化けするっていうのは常識なの?
一時間くらいハマったよ

491:デフォルトの名無しさん
22/01/17 13:14:40.23 OGoMBcpZ.net
>>490
[ generic/tclEncoding.c ]
Tcl_FindExecutable(
const char *argv0) /* The value of the application's argv[0]
* (native). */
{
TclInitSubsystems();
TclpSetInitialEncodings();
TclpFindExecutable(argv0);
}
・TclInitSubsystems は Tcl_CreateInterpでもコールされているので二度手間
・Tcl_FindExecutable のコールで内部エンコーディングがセットされているなんて分かりにくい
ユーザーとしては Tcl_SetSystemEncoding を使う方が意図が明らかで良いと思いました
// Tcl_FindExecutable(NULL);
Tcl_Interp *tcl = Tcl_CreateInterp();
Tcl_SetSystemEncoding(NULL, "utf-8"); // 環境変数を見に行かなくても決め打ちで良いでしょう

492:466
22/01/18 08:55:00.16 OTNPHSfm.net
>>491
なるほど、おまじないの中はそういう実装だったのか。ありがとうございます。

493:デフォルトの名無しさん
22/02/05 18:13:26.52 w4TOp0V+.net
ちょっとした疑問。
pack [button .b1 -text B1 -command {destroy .b1}]
pack [button .b2 -text B2]
bind .b2 <ButtonRelease-1> {destroy .b2}
.b1をクリックすると.b1が消える。(予想通り)
.b2をクリックすると.b2が消えて、その後エラー発生(invalid command name ".b2")。
どうもbindされたアクションを実行した後、-commandがあってもなくても.b2を実行しようとしてエラーになるみたい。
これって正常な動作なんでしょうか。
8.5と8.6で同じ動作だったから、こういうもんだと思うしかないのかな。

494:デフォルトの名無しさん
22/02/11 15:48:20.76 q5CIic8J.net
>>493
ボタンはクリックにあわせてイメージ更新するけど、先にdestroyが動いて、イメージ更新するときには
.b2が無くなってるんじゃないかな?
どうしてもbindからdestroyしたいなら、after idleで後回しにすれば動くと思う。(試してない)
bind .b <buttonrelease> { after idle { destroy .b }}
buttonpressでも動くかどうかは知らない。

495:デフォルトの名無しさん
22/02/14 19:42:10.96 FA+PnMJi.net
>>494
ありがとうございます。after idleうまくいきました。
.b2がinvokeされたあとでdestroy .b2が実行されました。

496:デフォルトの名無しさん
22/03/21 22:25:21.40 kKOtd3Ut.net
保守してみます

497:デフォルトの名無しさん
22/03/27 07:44:59.56 e2GynfHU.net
いまでもTcl/Tkって現役なんだね
Macでもつかえるなら勉?しようかな

498:本田
22/04/14 21:35:28.34 5sOyJ4MB.net
DoS
URLリンク(wiki.tcl-lang.org)
アノニマスとは ロシアにサイバー戦、過去に日本も被害: 日本経済新聞
URLリンク(www.nikkei.com)
反ロシア、サイバー「義勇兵」相次ぎ参戦 国境なき攻防
URLリンク(www.nikkei.com)

499:デフォルトの名無しさん
22/04/20 23:49:31.40 UqzWtfWz.net
変数置換がなければこれらは同等と考えていいんだろうか?
  set lst {a b c}
  set lst "a b c"
  set lst [list a b c]
空リストをセットするにはこれらも同等なのだろうか?
  set lst {}
  set lst [list]
パフォーマンス的には下は無駄な気もするけど。

500:デフォルトの名無しさん
22/06/16 00:33:17 Wk96MiCq.net
保守?

501:デフォルトの名無しさん
22/06/19 10:04:23.53 dNeG9n4b.net
本田は妖精

502:デフォルトの名無しさん
22/07/18 12:05:58.99 QD6UUrud.net
>>499
内部形式のTclオブジェクトは文字列、数値、リストなどの共用体。
必要に応じて実体が変換される。
前二つは文字列が実体、listコマンドを使ったものはリストが実体。
文字列が実体のオブジェクトをlindexのようなリストとして取り扱おうとすると
その時にリストオブジェクトに変換される。
リストが実体のオブジェクトを string のように文字列として取り扱おうとするとその機に文字列オブジェクトに変換される
セット時に変換されるか使う時に変換されるかだけの話でオーバーヘッドはさして気にするだけ無駄


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

297日前に更新/125 KB
担当:undef