|
|
TopPage > Tcl関係[00] |
Contents
|
[hoge user]$ tclsh % puts "Hellow world." Hellow world. もしくは、 % puts stdout "Hellow world." Hellow world. % exit [hoge user]$ |
#!/usr/bin/tclsh puts "Hello world." puts "----------------------" puts stdout {Hello world.} puts "----------------------" puts stderr "Hello world." exit |
[hoge user]$ chmod u+x ./sample00.tcl [hoge user]$ ./sample00.tcl Hello world. ---------------------- Hello world. ---------------------- Hello world. [hoge user]$ |
#!/usr/bin/tclsh puts "Hello world." set fast_str Hello set second_str {world.} puts "$fast_str $second_str" puts {$fast_str $second_str} exit |
[hoge user]$ chmod u+x ./sample01.tcl [hoge user]$ ./sample01.tcl Hello world. Hello world. $fast_str $second_str [hoge user]$ |
[hoge user]$ tclsh % puts "1 + 1" 1 + 1 % puts [ expr "1 + 1" ] 2 % puts {1 + 1} 1 + 1 % puts [ expr {1 + 1}] 2 % set abc 1 1 % puts "$abc + $abc" 1 + 1 % puts {$abc + $abc} $abc + $abc % puts [ expr $abc + $abc ] 2 % puts [ expr "$abc + $abc" ] 2 % puts [ expr {$abc + $abc} ] 2 % |
#!/usr/bin/tclsh ###################### puts {date command only} puts [ exec date ] puts "" ###################### puts "date with format" dateコマンド自体は、date +"%Y.%m.%d %p %I:%M:%S"の一塊で実行可能だがtclのexec上で ""の使いかたがわかっていないので以下のような書き方でformatを実現してみた puts "[ exec date +%Y.%m.%d ] [ exec date +%p ] [ exec date +%I:%M:%S ]" exit |
[hoge user]$ chmod u+x ./sample011.tcl [hoge user]$ ./sample011.tcl date command only 2011年 5月 24日 火曜日 22:22:58 JST date with format 2011.05.24 午後 10:22:58 [hoge user]$ |
#!/usr/bin/tclsh puts "Hello world." set fast_str Hello set second_str {world.} puts "$fast_str $second_str" puts "$fast_str\ $second_str" puts "$fast_str \ $second_str" puts "$fast_str \$$second_str" puts "$fast_str \$second_str" puts "\"\" and \{\}" |
[hoge user]$ chmod u+x ./sample02.tcl [hoge user]$ ./sample02.tcl Hello world. Hello world. Hello world. Hello world. Hello $world. Hello $second_str "" and {} [hoge user]$ |
コード | 内容 | 16進数値 |
\a | ベル(Audible Bell) | 0x07 |
\b | バックスペース(Backspace) | 0x08 |
\f | フォームフィード(Form Feed) | 0x0c |
\n | ニューライン(New Line) | 0x0a |
\r | キャリッジリターン(Carriage Return) | 0x0d |
\t | タブ(Tab) | 0x09 |
\v | 垂直タブ(Vertical Tab) | 0x0b |
\0dd | 8進数(Octal Value) | dは、0〜7の数値 |
\uHHHH | 16bit ユニコードキャラクタ | Hは、0〜9とA〜Fもしくはa〜fの16進を示す値. |
\xHH.... | 16進数(Hex Value) | Hは、0〜9とA〜Fもしくはa〜fの16進を示す値. |
[hoge user]$ tclsh % expr 1+5 6 % expr "1" + "5" 6 % expr {1-5} -4 % expr {1} - {5} -4 % expr " 1.1-8.6 " -7.5 % |
[hoge user]$ tclsh % expr 5*2 10 % expr 6/4 1 % expr 6.0/4 1.5 % expr 6/4.0 1.5 % expr 6/4*2 2 % expr 6/4.0*2 3.0 % expr 6*2%5 2 % expr 6*2/5 2 % expr 4%5 4 % expr 2*5%3 1 % expr 2*(5%3) 4 % expr 2.0*(5%3) 4.0 % |
[hoge user]$ tclsh % expr ~1 -2 % expr ~2 -3 % expr !0 1 % expr !1 0 % expr !2 0 % expr !3 0 % |
関数名 | 内容 | 関数名 | 内容 |
abs |
絶対値 expr abs(-2.9) --> 2.9 |
acos |
アークコサイン expr acos(0.5) --> 1.0471975512 |
asin |
アークサイン expr asin(0.5) --> 0.523598775598 |
atan |
アークタンジェント expr atan(0.5) --> 0.463647609001 |
atan2 |
アークタンジェント(スカラ型) expr atan2(0.3, 0.6) --> 0.463647609001 |
- | - |
ceil |
天井関数 expr ceil(2.9) --> 3.0 , expr ceil(-2.9) --> -2.0 |
cos |
コサイン expr cos(3.14) --> -0.999998731728 |
cosh |
双曲線余弦、またはハイパボリックコサイン expr cosh(0.5) --> 1.12762596521 |
double | double型精度変換関数 expr double(10) --> 10.0 |
entier | 整数変換関数、int()やwide()とほぼ同じ。(Tcl 8.5以上) | exp |
eの指数関数 expr exp(1) --> 2.71828182846 expr exp(2) --> 7.38905609893 |
floor |
床関数 exp floor(2.9) --> 2.0 , exp floor(-2.9) --> -3.0 |
fmod |
(浮動小数点型用)余算関数 expr fmod(19.27, 3.112) --> 0.598 |
hypot |
斜辺関数,sqrt(x^2 + y^2) expr hypot(1,1) --> 1.41421356237 |
int |
整数型変換 expr int(2.3) --> 2 , expr int(-2.3) --> -2 |
- | - | log |
対数関数(自然対数log) expr log(10) --> 2.30258509299 expr log(exp(1)) --> 1.0 |
log10 |
対数関数(常用対数log) expr log10(10) --> 1.0 , expr log10(100) --> 2.0 |
- | - |
- | - | pow |
べき乗 expr pow(3,2) --> 9.0 |
rand |
ランダム数発生関数 expr 100*rand() --> 5.62315397226 expr 100*rand() --> 8.3488118408 ... |
round |
数値まるめ関数 expr round(2.3) --> 2 , expr round(2.7) --> 3 expr round(-2.3) --> -2 , expr round(-2.7) --> -3 |
sin |
正弦関数 expr sin(3.14) --> 0.00159265291649 |
sinh |
双曲線正弦、またはハイパボリックサイン expr sinh(0.5) --> 0.521095305494 |
sqrt |
平方根 expr sqrt(4) --> 2.0 |
srand |
初期値が常に同じのランダム発生関数 expr srand(100) --> 0.000782636925943 expr srand(100) --> 0.000782636925943 expr srand(100) --> 0.000782636925943 |
tan |
正接関数 expr tan(3.14) --> -0.00159265493641 |
tanh |
双曲線正接、またはハイパボリックタンジェント expr tanh(0.5) --> 0.46211715726 |
wide |
整数型変換 expr wide(2.3) --> 2, expr wide(-2.3) --> -2 ※int()との使い分けがよくわからん |
- | - |
TopPage > Tcl関係[00] |