●●●●TCL/TKなら俺に聞け 2●●●●at TECH
●●●●TCL/TKなら俺に聞け 2●●●● - 暇つぶし2ch369:デフォルトの名無しさん
08/11/12 08:27:21
>>368
> >>365
> λx.λy..x
> =λx.x
> でしょ。

そんなequalityを持つλ計算の体系は見たことが無い

370:デフォルトの名無しさん
08/11/14 22:42:02
結局なんだったんだ。もう

371:デフォルトの名無しさん
08/11/15 10:04:27
>>370
同感

372:デフォルトの名無しさん
08/11/15 10:11:42
点が余計に入った
λ.x.(λy.x)は変換するとλx.xだろうと。

373:デフォルトの名無しさん
08/11/15 18:14:51
>>372
お前が前提にしているλ計算の公理系を言え。
通常のβη変換ではλx.(λy.x) = λx.xは導出できない。

374:デフォルトの名無しさん
08/11/30 09:35:24
Tcl and the Tk Toolkit, Rough Cuts, 2nd Edition
* By John K. Ousterhout, Ken Jones
URLリンク(www.informit.com)

ついこの前プレンティスから出てる妙に読みにくいTcl本買った俺涙目

375:デフォルトの名無しさん
08/11/30 19:08:03
日本語で良書なTcl本ってなにがあるかな

376:デフォルトの名無しさん
08/12/01 20:34:12
ものすごいつまらんこと聞いていいっすか?

Tclって、pythonで言うところのinputとかraw_inputって無いの?

377:デフォルトの名無しさん
08/12/01 22:11:19
gets

378:デフォルトの名無しさん
08/12/02 09:18:28
>>376
pythonで言うところのinputって何をするものか書いたほうがアドバイスもらえると思うが?

379:376
08/12/02 20:46:30
>>378
それもそうですね。失礼しました。自分は職業プログラマではな
いのであんまりうまく説明できそうにないですが。。
webで見つけた説明によれば、

raw_input関数
標準入力から1行読み込んで(末尾の改行をのぞいたものを)文字列に変換して返す。

>>> s = raw_input()
test
>>> s
'test'

とこんな感じです。上記はインタプリタでの動作です。
呼ばれると、ユーザの入力を待つモードになります。
ユーザが文字列を入力すると変数に文字列が代入されます。
input関数は数値入力用です。

380:デフォルトの名無しさん
08/12/02 20:56:09
やっぱgetsでいいじゃん

tclsh>gets stdin s
test
tclsh>puts $s
test


381:379
08/12/02 23:32:57
>>380
レスありがとうございます。

getsにはそんな風に書くんですね。
channelIdってのが何を指してるのかサッパリでした。。

明日会社に行ってまた試してみます。
たまーに仕事用ツール作成でスクリプト書くんですが、
諸事情あって今回はTclにで書いていて。。

382:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/12/04 22:00:38
binary scanとbinary formatの使い方をすぐ忘れちゃうのは秘密だ

384:デフォルトの名無しさん
08/12/04 22:04:45
>>375
Tcl/Tkデスクトップリファレンスには超おせわになった。
あとEffective Tcl/Tk。この2冊はTcl/Tk修行時代の
10年位前にかなり読んだ。

385:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/12/11 22:04:10
>>385
これじゃ無限ループになるだろ。exprはrenameして新たにラッパーのexprを定義すれば?

387:デフォルトの名無しさん
08/12/17 17:04:55
>312
>BrowseX for Windows使ってた人いない?

Hv3というtkhtmlベースのブラウザならある。
URLリンク(tkhtml.tcl.tk)

388:デフォルトの名無しさん
08/12/19 21:06:51
Dr. OusterhoutがTclコアチームから抜ける。
URLリンク(groups.google.com)

389:デフォルトの名無しさん
08/12/22 21:53:03
プログラムから逃げてきたのに卒論で無理やりやらされてる
Cで作ったexeファイルをtcl/tkで作ったGUI上で実行したりできるの?

ていうかこんなことも分からない感じで死にそう・・・

390:デフォルトの名無しさん
08/12/22 23:27:50
>>388
そしてその翌日itclのコア組み込みが決定したのであった・・・!

>>389
CでCUIのexe作って、Tcl/Tkでガワ作って、パイプで接続とか。
まあどんなことがやりたいかによる。CでDLL作って、それをTcl/Tk
から使うほうが楽かもしれない。

391:デフォルトの名無しさん
08/12/23 00:07:48
>>389
unixだと楽だが、windowsだと面倒。

392:デフォルトの名無しさん
08/12/23 11:28:21
え、incr Tcl?
正直オブジェクト指向を入れるなら参照とガベコレの概念を入れる前提で
デザインしなおしたほうがいいのに・・・
(逆に言うとこの2つを入れればオブジェクト指向はこれまでどおり拡張でいいし)
オブジェクト手動開放とか今日日ありえないっすよ。

393:デフォルトの名無しさん
08/12/23 11:40:20
>>391
んなこたーない。
execで実行するだけ。
so, dllも同じソースで簡単に作れるし(windowsはmingwのgcc使ってるけど)

394:デフォルトの名無しさん
08/12/23 19:53:07
いやwindowsは苦労するよ。
pathや引数周りに落とし穴がいっぱいある。

MSが早くcygnusを買収してくれればいいのに。

395:デフォルトの名無しさん
08/12/23 20:02:39
>>394
落とし穴ってなに

396:デフォルトの名無しさん
08/12/23 23:13:52
path周りの避け方はマニュアルに書いてあるだろ。
で、なんでcygnusが出てくるんだ?
もはやTclはcygwinをサポートしてないぞ。
素直にActive TclをインストールしてCはMinGW使えばいい。

397:デフォルトの名無しさん
08/12/23 23:38:12
8.6b1きたあああああ!!!
try ~ throwきたあああ!!!
zlibきたあああ!!!
ttk::spinboxきたあああ!!!
tk fontchooserきたああああ!!!
Canvasの回転文字きたああああ!!!
ttkのvistaテーマきたあああ!!!

398:デフォルトの名無しさん
09/01/06 12:23:24
今M1だが、修論でtcl使うはめになってubuntuの起動から勉強してるところなんだけど、
tclでパラレルポートからの入力って使える?
その辺含んだお勧めの書籍なんかあれば知りたい。

399:デフォルトの名無しさん
09/01/06 21:25:39
URLリンク(wiki.tcl.tk)
まずは適当に検索してみればいいとおもうの。

400:本田
09/01/08 21:18:47
AC3Dマニュアル
URLリンク(panda.ecs.cst.nihon-u.ac.jp)
1998年11月6日更新 - AC3Dバージョン2以降に対応

AC3D
URLリンク(mail2.nara-edu.ac.jp)
>3 次元模型 (モデル) を作るためのソフトはモデラーと呼ばれています。
> AC3D はそのモデラーの一つで、随分人気があるようです。
> AC3D は今では商用ソフトになってしまいました。

Shareware Version.
URLリンク(locgate.smtn.stavropol.ru)
古いけどTcl/Tkスクリプト使用して参考になる。

最新版。
URLリンク(www.inivis.com)

401:本田
09/01/09 21:21:13
These are some sample files for the 3D modeller - AC3D
fURLリンク(ftp.uni-duisburg.de)

AC3D Manual(Updated 11th March 1999 - Covers AC3D Version 2 onwards)
fURLリンク(ftp.uni-duisburg.de)
fURLリンク(ftp.uni-duisburg.de)

AC3D Manual Ver. 3.4.1
fURLリンク(ftp.uni-duisburg.de)

URLリンク(locgate.smtn.stavropol.ru)
に付属のGLU32.DLLとOPENGL32.DLLは、おそらくWindows95用でしょう。

Windows95以降に発売されたWindowsには、
GLU32.DLLとOPENGL32.DLLが付属してるとはずなので、
Windows95以降に発売されたWindowsをお使いの場合は、
AC3D v.2.0付属のGLU32.DLLとOPENGL32.DLLを削除したほうが、
AC3D v.2.0の安定性や速度が改善される可能性があります。

402:デフォルトの名無しさん
09/01/13 00:08:38
すみません質問させて下さい。
以下のコードのように、プロシージャfooを作っておいて
複数のボタンをpackする作業をまとめたいと考えています。

proc foo {w msg} {
pack [button $w.$msg -text $msg -command {puts $msg}]
}

pack [frame .f]
foo .f "b1"
foo .f "b2"

ところがボタンを押してcommandを実行させると、
以下のエラーが出ます。
Error: can't read "msg": no such variable

ボタンを押したときにローカル変数msgを参照できていないということだと
思いますが、何か良い解決策はありませんか?
よろしくお願いします。

403:402
09/01/13 00:10:15
使用環境を書き忘れました。
WindowsXPでActiveTcl8.5.4.0.286921-win32-ix86-threaded.exe
をインストールして使っています。

404:デフォルトの名無しさん
09/01/13 00:30:21
-command "puts $msg"

405:402
09/01/13 00:56:06
>>404
できました!
"と{との違いを調べてきます。
早速の回答ありがとうございます。

406:デフォルトの名無しさん
09/01/13 12:59:47
>>402
{}の違いがポイントではなく、-command で指定するコマンドが関数の外で実行されることがポイントなのです。
msg変数は関数fooのローカル変数なので、関数の外で実行されるボタンのコマンドからは参照できません。


407:デフォルトの名無しさん
09/01/13 21:28:04
>>404 ではないですが、もう少し補足しておきます
set msg AAA; pack [button .b -text PushMe -command "puts $msg"]
としておいて、ボタン.bを押すと当然、AAAとコンソールに表示されます。
続けて、set msg BBBとしてボタン.bを押してみて下さい。
コンソールにAAAと表示されますね?
これはどういうことかというと、


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch