|
|
| 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] |