Tcl-tk-tcl-builtin-functions

提供:Dev Guides
移動先:案内検索

Tcl-組み込み関数

Tclは、さまざまな操作のための多くの組み込み関数(手順)を提供します。 これには以下が含まれます-

  • link:/tcl-tk/tcl_lists [list]処理のための関数。
  • link:/tcl-tk/tcl_strings [string]処理のための関数。
  • link:/tcl-tk/tcl_arrays [array]処理のための関数。
  • link:/tcl-tk/tcl_dictionary [dictionary]処理のための関数。
  • link:/tcl-tk/tcl_file_io [ファイルI/O]処理のための関数。
  • link:/tcl-tk/tcl_namespaces [namespaces]およびlink:/tcl-tk/tcl_packages [packages。]を作成するための関数
  • 数学演算用の関数。 *システム操作用の関数。

数学関数とシステム関数を除く上記のそれぞれについては、前の章で説明しています。 数学およびシステムの組み込み関数を以下に説明します。

数学関数

Tclで利用可能な数学関数は、次の表に記載されています-

Sr.No. Method & Description
1
  • abs *arg

argの絶対値を計算します。

2
  • acos *arg

argのアークコサインを計算します。

3
  • asin *arg

argの逆正弦を計算します。

4
  • atan *arg

argのアークタンジェントを計算します。

5
  • atan2 *y x

引数の商の逆正接を計算します(y/x)。

6
  • ceil *arg

数値以上の最小の整数を計算します。

7
  • cos *arg

argのコサインを計算します。

8
  • cosh *arg

argの双曲線余弦を計算します。

9
  • double *arg

argが浮動小数点値であるかどうかを計算し、argを返します。それ以外の場合、argを浮動小数点に変換し、変換された値を返します。

10
  • exp *arg

指数関数を計算します(eの累乗)。

11
  • floor *arg

arg以下の最大整数を計算します。

12
  • fmod *x y

xをyで除算した浮動小数点の剰余を計算します。 yが0の場合、エラーが返されます。

13
  • hypot *x y

直角三角形sqrt(x* x + y *y)の斜辺の長さを計算します。

14
  • int *arg

argがマシンワードと同じ幅の整数値かどうかを計算し、argを返します。それ以外の場合は、argを整数に変換します。

15
  • log *arg

argの自然対数を計算します。

16
  • log10 *arg

argの10を底とする対数を計算します。

17
  • pow *x y

xをy乗した値を計算します。 xが負の場合、yは整数値でなければなりません。

18
  • rand*

0から1の間の擬似乱数を計算します。

19
  • round *arg

最も近い整数に丸められたargの値を計算します。

20
  • sin *arg

argのサインを計算します。

21
  • sinh *arg

argの双曲線正弦を計算します。

22
  • sqrt *arg

argの平方根を計算します。 argは正でなければなりません。

23
  • srand *arg

0から1の間の擬似乱数を計算します。 argは整数でなければならず、randの乱数ジェネレーターのシードをリセットするために使用されます。

24
  • tan *arg

argのタンジェントを計算します。

25
  • tanh *arg

argの双曲線正接を計算します。

26
  • wide* arg

argが既に1でない場合、少なくとも64ビット幅の整数値を計算します(argが32ビット数の場合は符号拡張により)。

数学関数を使用したいくつかの例を以下に示します-

#!/usr/bin/tclsh

namespace import ::tcl::mathfunc::*
puts [tan 10]
puts [pow 10 2]
puts [ceil 10.34]
puts [hypot 10 20]
puts [srand 45]
puts [log 10]
puts [srand 45]

上記のコードが実行されると、次の結果が生成されます-

0.6483608274590866
100.0
11.0
22.360679774997898
0.0003521866166741525
2.302585092994046
0.0003521866166741525

システム機能

Tclの重要なシステム機能には、

  • clock -現在の時刻を秒単位で返す秒関数。
  • clock -秒を日付と時刻にフォーマットするフォーマット関数。
  • clock -入力文字列をスキャンし、それを秒に変換するスキャン機能。
  • open -ファイルを開くために使用される関数。
  • exec -システムコマンドを実行するために使用される機能。
  • close -ファイルを閉じるために使用される関数。

上記の機能のいくつかの例を以下に示します-

#!/usr/bin/tclsh

#get seconds
set currentTime [clock seconds]
puts $currentTime
#get format
puts "The time is: [clock format $currentTime -format %H:%M:%S]"
puts "The date is: [clock format $currentTime -format %D]"

set date "Jun 15, 2014"
puts [clock scan $date -format {%b %d, %Y}]

puts [exec ls]
puts [exec dir]

set a  [open input.txt]
puts [read $a];
puts $a
close $a

上記のコードが実行されると、次の結果が生成されます-

1402819756
The time is: 03:09:16
The date is: 06/15/2014
1402808400
input.txt
main.tcl
input.txt  main.tcl
This is the file you can use to provide input to your program and later on open
   it inside your program to process the input.

file3

次の表に、日付と時刻のフォーマットに使用できるリスト文字列を示します。

Sr.No. Format & Description
1

%a

短い形式の日。例:日。

2

%A

完全な形式の日。例:日曜日。

3

%b

短い形式の月。

4

%B

完全な形式の月。

5

%d

月の日。

6

%j

ユリウス日。

7

%m

数の月。

8

%y

2桁の年。

9

%Y

4桁の年。

10

%H

24時間制の時間。

11

%I

12時間制の時間。

12

%M

分。

13

%S

秒。

14

%p

午前または午後

15

%D

日付の数字、mm/dd/yy。

16

%r

12時間制の時刻。

17

%R

秒のない24時間時計の時刻。

18

%T

秒を含む24時間時計の時刻。

19

%Z

GMT、IST、ESTなどのタイムゾーン名。