Tcl - ฟังก์ชั่นในตัว

Tcl มีฟังก์ชันในตัว (โพรซีเดอร์) จำนวนมากสำหรับการดำเนินการต่างๆ ซึ่งรวมถึง -

  • ฟังก์ชั่นสำหรับการจัดการรายการ

  • ฟังก์ชั่นสำหรับการจัดการสตริง

  • ฟังก์ชั่นสำหรับการจัดการอาร์เรย์

  • ฟังก์ชั่นสำหรับการจัดการพจนานุกรม

  • ฟังก์ชั่นสำหรับไฟล์ I / Oการจัดการ

  • ฟังก์ชันสำหรับสร้างเนมสเปซและแพ็กเกจ

  • ฟังก์ชันสำหรับการดำเนินการทางคณิตศาสตร์

  • ฟังก์ชั่นสำหรับการทำงานของระบบ

แต่ละข้อข้างต้นยกเว้นฟังก์ชันคณิตศาสตร์และระบบจะครอบคลุมในบทก่อนหน้านี้ ฟังก์ชันในตัวคณิตศาสตร์และระบบมีคำอธิบายด้านล่าง

ฟังก์ชันคณิตศาสตร์

ฟังก์ชันทางคณิตศาสตร์ที่มีอยู่ใน Tcl แสดงอยู่ในตารางต่อไปนี้ -

ซีเนียร์ วิธีการและคำอธิบาย
1

abs อาร์กิวเมนต์

คำนวณค่าสัมบูรณ์ของ arg

2

acos อาร์กิวเมนต์

คำนวณ arccosine ของ arg

3

asin อาร์กิวเมนต์

คำนวณอาร์กไซน์ของอาร์กิวเมนต์

4

atan อาร์กิวเมนต์

คำนวณอาร์กแทนเจนต์ของอาร์กิวเมนต์

5

atan2 yx

คำนวณอาร์กแทนเจนต์ของผลหารของอาร์กิวเมนต์ (y / x)

6

ceil อาร์กิวเมนต์

คำนวณจำนวนเต็มที่น้อยที่สุดที่มากกว่าหรือเท่ากับตัวเลข

7

cos อาร์กิวเมนต์

คำนวณโคไซน์ของอาร์กิวเมนต์

8

cosh อาร์กิวเมนต์

คำนวณไฮเพอร์โบลิกโคไซน์ของอาร์กิวเมนต์

9

double อาร์กิวเมนต์

คำนวณว่า arg เป็นค่าทศนิยมหรือไม่ให้ส่งกลับ arg หรือจะแปลง arg เป็น floating-point และส่งกลับค่าที่แปลงแล้ว

10

exp อาร์กิวเมนต์

คำนวณฟังก์ชันเอกซ์โพเนนเชียล (e ยกกำลังอาร์กิวเมนต์)

11

floor อาร์กิวเมนต์

คำนวณจำนวนเต็มที่มากที่สุดน้อยกว่าหรือเท่ากับ arg

12

fmod xy

คำนวณเศษทศนิยมที่เหลือของการหาร x ด้วย y ถ้า y เป็น 0 ข้อผิดพลาดจะถูกส่งกลับ

13

hypot xy

คำนวณความยาวของด้านตรงข้ามมุมฉากของสามเหลี่ยมมุมฉาก sqrt (x * x + y * y)

14

int อาร์กิวเมนต์

คำนวณว่า arg เป็นค่าจำนวนเต็มที่มีความกว้างเท่ากับคำของเครื่องหรือไม่ให้ส่งคืน arg หรือจะแปลง arg เป็นจำนวนเต็ม

15

log อาร์กิวเมนต์

คำนวณลอการิทึมธรรมชาติของ arg

16

log10 อาร์กิวเมนต์

คำนวณลอการิทึมฐาน 10 ของอาร์กิวเมนต์

17

pow xy

คำนวณค่า x ยกกำลัง y ถ้า x เป็นลบ y ต้องเป็นค่าจำนวนเต็ม

18

rand

คำนวณตัวเลขสุ่มหลอกระหว่าง 0 ถึง 1

19

round อาร์กิวเมนต์

คำนวณค่าของ arg ที่ปัดเศษเป็นจำนวนเต็มที่ใกล้ที่สุด

20

sin อาร์กิวเมนต์

คำนวณไซน์ของอาร์กิวเมนต์

21

sinh อาร์กิวเมนต์

คำนวณไฮเพอร์โบลิกไซน์ของอาร์กิวเมนต์

22

sqrt อาร์กิวเมนต์

คำนวณรากที่สองของ arg อาร์กิวเมนต์ต้องเป็นบวก

23

srand อาร์กิวเมนต์

คำนวณจำนวนสุ่มหลอกระหว่าง 0 ถึง 1 อาร์กิวเมนต์ซึ่งต้องเป็นจำนวนเต็มใช้เพื่อรีเซ็ตเมล็ดพันธุ์สำหรับตัวสร้างตัวเลขสุ่มของแรนด์

24

tan อาร์กิวเมนต์

คำนวณแทนเจนต์ของอาร์กิวเมนต์

25

tanh อาร์กิวเมนต์

คำนวณไฮเพอร์โบลิกแทนเจนต์ของอาร์กิวเมนต์

26

wide อาร์กิวเมนต์

คำนวณค่าจำนวนเต็มกว้างอย่างน้อย 64 บิต (โดย sign-extension ถ้า arg เป็นตัวเลข 32 บิต) สำหรับ arg ถ้ายังไม่มี

ตัวอย่างการใช้ฟังก์ชันทางคณิตศาสตร์มีให้ด้านล่าง -

#!/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

ตารางต่อไปนี้แสดงสตริงรายการที่สามารถใช้เพื่อจัดรูปแบบวันที่และเวลา

ซีเนียร์ รูปแบบและคำอธิบาย
1

%a

วันในรูปแบบสั้นเช่นดวงอาทิตย์

2

%A

วันในรูปแบบเต็มเช่นวันอาทิตย์

3

%b

เดือนในรูปแบบสั้น

4

%B

เดือนในรูปแบบเต็ม

5

%d

วันของเดือน

6

%j

วันจูเลียนของปี

7

%m

จำนวนเดือน

8

%y

ปีเป็นตัวเลขสองหลัก

9

%Y

ปีเป็นตัวเลขสี่หลัก

10

%H

ชั่วโมงในนาฬิกา 24 ชั่วโมง

11

%I

ชั่วโมงในนาฬิกา 12 ชั่วโมง

12

%M

นาที.

13

%S

วินาที

14

%p

AM หรือ PM

15

%D

วันที่เป็นตัวเลข mm / dd / yy

16

%r

เวลาใน 12 ชั่วโมงนาฬิกา

17

%R

เวลาใน 24 ชั่วโมงนาฬิกาโดยไม่ต้องวินาที

18

%T

เวลาใน 24 ชั่วโมงนาฬิกาวินาที

19

%Z

ชื่อโซนเวลาเช่น GMT, IST, EST และอื่น ๆ