Tcl-내장 함수

Tcl은 다양한 작업을위한 여러 내장 함수 (프로 시저)를 제공합니다. 여기에는-

  • 목록 처리를 위한 함수 .

  • 문자열 처리를 위한 함수 .

  • 배열 처리를 위한 함수 .

  • 사전 처리 기능 .

  • 파일 I / O 처리를 위한 기능 .

  • 네임 스페이스 및 패키지 생성을위한 함수입니다 .

  • 수학 연산을위한 함수.

  • 시스템 작동을위한 기능.

수학 및 시스템 기능을 제외한 위의 각 항목은 이전 장에서 다룹니다. 수학 및 시스템 내장 함수는 아래에 설명되어 있습니다.

수학 함수

Tcl에서 사용할 수있는 수학 함수는 다음 표에 나열되어 있습니다.

Sr. 아니. 방법 및 설명
1

abs arg

arg의 절대 값을 계산합니다.

2

acos arg

arg의 아크 코사인을 계산합니다.

asin arg

arg의 아크 사인을 계산합니다.

4

atan arg

arg의 아크 탄젠트를 계산합니다.

5

atan2 yx

인수 (y / x)의 몫에 대한 아크 탄젠트를 계산합니다.

6

ceil arg

숫자보다 크거나 같은 가장 작은 정수를 계산합니다.

7

cos arg

arg의 코사인을 계산합니다.

8

cosh arg

arg의 쌍곡 코사인을 계산합니다.

9

double arg

arg가 부동 ​​소수점 값이면 계산하고, arg를 반환하고, 그렇지 않으면 arg를 부동 소수점으로 변환하고 변환 된 값을 반환합니다.

10

exp arg

지수 함수를 계산합니다 (e를 arg의 거듭 제곱으로 올림).

11

floor arg

arg보다 작거나 같은 가장 큰 정수를 계산합니다.

12

fmod xy

x를 y로 나눈 부동 소수점 나머지를 계산합니다. y가 0이면 오류가 반환됩니다.

13

hypot xy

직각 삼각형 sqrt (x * x + y * y)의 빗변 길이를 계산합니다.

14

int arg

arg가 기계어와 같은 너비의 정수 값인지 계산하고, arg를 반환하고, 그렇지 않으면 arg를 정수로 변환합니다.

15

log arg

arg의 자연 로그를 계산합니다.

16

log10 arg

arg의 밑이 10 인 로그를 계산합니다.

17

pow xy

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가 아직 하나가 아닌 경우 arg에 대해 최소 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. 아니. 형식 및 설명
1

%a

짧은 형식의 요일, 예 : Sun.

2

%A

완전한 형식의 요일 예 : 일요일.

%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 등과 같은 시간대 이름.