●●●●TCL/TKなら俺に聞け 4●●●● (542レス)
●●●●TCL/TKなら俺に聞け 4●●●● http://mevius.5ch.net/test/read.cgi/tech/1375678740/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
338: デフォルトの名無しさん [] 2019/02/16(土) 13:21:28.18 ID:8dsmpsXe 数値に変換できるときは勝手に変換してくれるんだね知らなかった 見当違いなこと言ってごめん http://mevius.5ch.net/test/read.cgi/tech/1375678740/338
339: デフォルトの名無しさん [] 2019/02/16(土) 13:25:32.89 ID:lF7O1vpr なんとなくこれで行ける気もしたのでやってみたのですが set s [format "%03d %03d %03d" [list $lst]] だめでした>< もう一息な気がするのであきらめつかずモヤモヤしています http://mevius.5ch.net/test/read.cgi/tech/1375678740/339
340: デフォルトの名無しさん [] 2019/02/16(土) 15:44:33.35 ID:O+uQ3VIp 代行レスはここへ https://rosie.5ch.net/test/read.cgi/operatex/1549681970/160 160 名前: [Φ|(|´|Д|`|)|Φ] BBxed!! 臨時で名無しです[] 投稿日:2019/02/16(土) 13:42:57.64 お手数ですがよろしくお願いします。 【板名】プログラム技術 【スレ名】●●●●TCL/TKなら俺に聞け 4●●●● 【スレのURL】https://mevius.5ch.net/test/read.cgi/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] これでどうでしょうか。 http://mevius.5ch.net/test/read.cgi/tech/1375678740/340
341: デフォルトの名無しさん [] 2019/02/16(土) 16:20:43.87 ID:STqQL4YT set lst [list 1 2 3] set s [eval "format {%02d %02d %02d} $lst"] これでいけました ほんとうにありがとうございました http://mevius.5ch.net/test/read.cgi/tech/1375678740/341
342: デフォルトの名無しさん [] 2019/02/16(土) 16:35:31.07 ID:AfCn0+WA >>330 set s [format "%d %d %d" {*}[list 1 2 3] ] http://mevius.5ch.net/test/read.cgi/tech/1375678740/342
343: デフォルトの名無しさん [sage] 2019/02/16(土) 16:49:13.67 ID:vYP1vVnz eval使ったら負け http://mevius.5ch.net/test/read.cgi/tech/1375678740/343
344: デフォルトの名無しさん [sage] 2019/02/16(土) 16:52:58.14 ID:STqQL4YT set lst [list 1 2 3] set s [format {%02d %02d %02d} {*}$lst] これでもいけました ほんとうにありがとうございました http://mevius.5ch.net/test/read.cgi/tech/1375678740/344
345: デフォルトの名無しさん [] 2019/02/16(土) 17:07:55.05 ID:8dsmpsXe >>344 この書き方初めて見た いつもforeachで回してたけどこういう書き方もできるんだね http://mevius.5ch.net/test/read.cgi/tech/1375678740/345
346: デフォルトの名無しさん [] 2019/02/16(土) 17:11:56.78 ID:STqQL4YT んー expand でも検索したつもりだったのになー http://www.geocities.co.jp/SiliconValley/4137/dir1/tcltkevolution85.html >なお、{*}は、8.5がαリリースだったときには{expand}というトークンでして、 >このページにも長くそのように書いていましたが、 正式リリースに伴って{*}と変更されました。 http://mevius.5ch.net/test/read.cgi/tech/1375678740/346
347: デフォルトの名無しさん [] 2019/02/16(土) 18:03:56.10 ID:mSqP7pCT 存在を知らないと気付かない機能のリスト https://sites.google.com/site/gpsnmeajp/tcl-tk/tcl-tk-jian-yirifarensu http://mevius.5ch.net/test/read.cgi/tech/1375678740/347
348: デフォルトの名無しさん [] 2019/02/16(土) 19:34:26.00 ID:kXtbvz/w >>324 OSと、tcl/tk, Python/Tkinter それぞれのバージョンと、バイナリパッケージでインストールしたなら、 パッケージの入手元は? >>328 tcl皆無にするなら、tkinterも動かないんわけだけど http://mevius.5ch.net/test/read.cgi/tech/1375678740/348
349: デフォルトの名無しさん [] 2019/02/16(土) 22:13:00.74 ID:WrrsgfdN >>345 ver8.4迄はリストをバラして個別に適用するには、evalを使うのが"正統的裏技"だったがver8.5から{*}が導入されマニュアル8.6版のevalの項目ではこちらの使用が推奨されている。 ver8.6のマニュアルでは、eval,info,Tclの項目に小分けして{*}の説明が少しだけある。 http://mevius.5ch.net/test/read.cgi/tech/1375678740/349
350: デフォルトの名無しさん [] 2019/02/17(日) 11:27:32.85 ID:7mUUrd8D 同じ動作をさせてるつもりなのですが ぬるぬる感が明らかに違うので tkinter + tix https://ideone.com/0fB1OD Tcl/Tk + BWidget https://ideone.com/dpBcd3 違うものを比べてると言われればそうなのかも知れません http://mevius.5ch.net/test/read.cgi/tech/1375678740/350
351: デフォルトの名無しさん [sage] 2019/02/17(日) 11:34:57.16 ID:7MWZQWrl >>349 *$lst じゃなくて {*}$lst って書かないといけないのは 文法仕様上前者が無理だったということかな 前者が実現出来ない理由が良く判らない http://mevius.5ch.net/test/read.cgi/tech/1375678740/351
352: デフォルトの名無しさん [] 2019/02/17(日) 17:33:15.98 ID:MVql6Ciy >>351 多くの言語で、ポインタの内容を *str_pp の様に記す習慣がある。 紛らわしくないように "*" ではなく "{*}" を使用したのかも、単なる趣味かも、判りません http://mevius.5ch.net/test/read.cgi/tech/1375678740/352
353: デフォルトの名無しさん [] 2019/02/18(月) 10:22:49.56 ID:jrTRVIL4 単なる変数展開と個々の引数としての展開では大きく違うからあえて冗長な書き方をすることでパッと見で両者の区別がつくようにしてるんじゃないかな http://mevius.5ch.net/test/read.cgi/tech/1375678740/353
354: デフォルトの名無しさん [] 2019/02/18(月) 15:25:56.92 ID:bbNHvPxv lassign で型限定する方法ない? http://mevius.5ch.net/test/read.cgi/tech/1375678740/354
355: デフォルトの名無しさん [] 2019/02/23(土) 22:18:41.43 ID:05po+dKO >>354 やりたいことをもう少し具体的に…(やっぱり難しくてお手上げかもしれないが) http://mevius.5ch.net/test/read.cgi/tech/1375678740/355
356: 本田 [] 2019/03/08(金) 06:16:15.50 ID:UCtp3rvd design patterns in tcl tk - YouTube https://www.youtube.com/watch?v=IQubd0NTENM Brent B Welch http://www.beedub.com/ http://mevius.5ch.net/test/read.cgi/tech/1375678740/356
357: デフォルトの名無しさん [sage] 2019/03/10(日) 00:10:31.28 ID:DeZad1wc >>332 set s [format "%03d %03d %03d" {*}$lst] http://mevius.5ch.net/test/read.cgi/tech/1375678740/357
358: デフォルトの名無しさん [] 2019/03/10(日) 15:03:39.13 ID:uFsYqTSV >>344 http://mevius.5ch.net/test/read.cgi/tech/1375678740/358
359: 本田 [] 2019/04/07(日) 22:45:37.16 ID:vq1byQ+H Tcl-Tk vs Wx Widgets https://wiki.tcl-lang.org/page/Tcl-Tk+vs+Wx+Widgets wxWidgets - Workshop Complex at bitWalk - Fuhito Suguri http://bitwalk.sitemix.jp/mingw_cross_wxw.php http://mevius.5ch.net/test/read.cgi/tech/1375678740/359
360: 本田 [] 2019/04/19(金) 06:32:00.09 ID:MQ2wvTRS Xilinx Tcl Store https://japan.xilinx.com/products/design-tools/vivado/Tcl-store.html http://mevius.5ch.net/test/read.cgi/tech/1375678740/360
361: デフォルトの名無しさん [] 2019/04/19(金) 08:27:51.90 ID:K+Fou2p2 Tcl/Tkだろ!ボケ! http://mevius.5ch.net/test/read.cgi/tech/1375678740/361
362: デフォルトの名無しさん [sage] 2019/04/19(金) 12:10:27.05 ID:aQMMTHRZ Tkは無いのかもしれないよ http://mevius.5ch.net/test/read.cgi/tech/1375678740/362
363: 本田 [sage] 2019/06/15(土) 06:50:47.12 ID:ly/5wdGU [PDF]Catenation and Operand Specialization For Tcl Virtual Machine http://www.eecg.utoronto.ca/~tsa/theses/benjamin_vitale.pdf [PDF]Alternative dispatch techniques for the Tcl VM Interpreter http://www.cs.toronto.edu/~bv/tcl2005/tcl2005-vitale-zaleski.pdf [PDF]Alternative Dispatch Techniques for the Tcl VM http://www.cs.toronto.edu/~bv/tcl2005/tcl2005-slides.pdf http://mevius.5ch.net/test/read.cgi/tech/1375678740/363
364: 本田 [sage] 2019/06/19(水) 06:47:20.92 ID:7+Fihow6 [PDF]A History of Tcl in the Browser - Tcl Community Association https://www.tclcommunityassociation.org/wub/proceedings/Proceedings-2011/SteveLanders/Tcl-in-the-Browser-presentation.pdf http://mevius.5ch.net/test/read.cgi/tech/1375678740/364
365: デフォルトの名無しさん [sage] 2019/06/24(月) 19:46:44.99 ID: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 } ですが、その逆が分かりません。 http://mevius.5ch.net/test/read.cgi/tech/1375678740/365
366: デフォルトの名無しさん [sage] 2019/06/25(火) 13:56:27.93 ID:pO4dP3rM 解決しました。 eval を使わず、call を使えということですね。 >>> root.tk.call("math::fourier::dft", [1, 2, 3] ) ((6.0, 0.0), (-1.499999999999999, 0.8660254037844388), (-1.499999999999999, -0.8660254037844388)) http://mevius.5ch.net/test/read.cgi/tech/1375678740/366
367: デフォルトの名無しさん [] 2019/06/25(火) 17:08:51.27 ID:XhZtJiMw よくみろ それは list じゃなくて tuple だ http://mevius.5ch.net/test/read.cgi/tech/1375678740/367
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 175 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.008s