Tcl - ไวยากรณ์พื้นฐาน

Tcl นั้นค่อนข้างง่ายในการเรียนรู้และมาเริ่มสร้างโปรแกรม Tcl แรกของเรากันเถอะ!

โปรแกรม Tcl แรก

ให้เราเขียนโปรแกรม Tcl ง่ายๆ ไฟล์ Tcl ทั้งหมดจะมีนามสกุลคือ. tcl ดังนั้นใส่ซอร์สโค้ดต่อไปนี้ในไฟล์ test.tcl

#!/usr/bin/tclsh

puts "Hello, World!"

สมมติว่าสภาพแวดล้อม Tcl ถูกตั้งค่าอย่างถูกต้อง มารันโปรแกรมหลังจากเปลี่ยนเป็นไดเร็กทอรีของไฟล์แล้วรันโปรแกรมโดยใช้ -

$ tclsh test.tcl

เราจะได้ผลลัพธ์ดังต่อไปนี้ -

Hello, World!

ตอนนี้ให้เราดูโครงสร้างพื้นฐานของโปรแกรม Tcl เพื่อให้คุณเข้าใจโครงสร้างพื้นฐานของภาษา Tcl ได้ง่าย ใน Tcl เราใช้บรรทัดใหม่หรืออัฒภาคเพื่อยกเลิกบรรทัดก่อนหน้าของโค้ด แต่ไม่จำเป็นต้องใช้อัฒภาคหากคุณใช้ขึ้นบรรทัดใหม่สำหรับแต่ละคำสั่ง

ความคิดเห็น

ความคิดเห็นเป็นเหมือนการช่วยเหลือข้อความในโปรแกรม Tcl ของคุณและล่ามจะเพิกเฉยต่อสิ่งเหล่านี้ ความคิดเห็นสามารถเขียนโดยใช้เครื่องหมายแฮช _ (#) ในการเริ่มต้น

#!/usr/bin/tclsh

# my first program in Tcl
puts "Hello World!"

เมื่อดำเนินการโค้ดด้านบนจะให้ผลลัพธ์ดังนี้ -

Hello World!

ความคิดเห็นหลายบรรทัดหรือบล็อกเขียนโดยใช้ 'if' with condition '0' ตัวอย่างแสดงด้านล่าง

#!/usr/bin/tclsh

if 0 {
   my first program in Tcl program
   Its very simple
}
puts "Hello World!"

เมื่อดำเนินการโค้ดด้านบนจะให้ผลลัพธ์ดังนี้ -

Hello World!

ความคิดเห็นแบบอินไลน์ใช้; #. ตัวอย่างได้รับด้านล่าง

#!/usr/bin/tclsh

puts "Hello World!" ;# my first print in Tcl program

เมื่อดำเนินการโค้ดด้านบนจะให้ผลลัพธ์ดังนี้ -

Hello World!

ตัวระบุ

ตัวระบุ Tcl คือชื่อที่ใช้เพื่อระบุตัวแปรฟังก์ชันหรือรายการที่ผู้ใช้กำหนดอื่น ๆ ตัวระบุเริ่มต้นด้วยตัวอักษร A ถึง Z หรือ a ถึง z หรือขีดล่าง (_) ตามด้วยตัวอักษรศูนย์หรือมากกว่าขีดล่างดอลลาร์ ($) และตัวเลข (0 ถึง 9)

Tcl ไม่อนุญาตให้ใช้อักขระเครื่องหมายวรรคตอนเช่น @ และ% ภายในตัวระบุ Tcl คือcase sensitive_ ภาษา ดังนั้นกำลังคนและกำลังคนจึงเป็นตัวบ่งชี้สองตัวที่แตกต่างกันใน Tcl นี่คือตัวอย่างบางส่วนของตัวระบุที่ยอมรับได้ -

mohd       zara    abc   move_name  a_123
myname50   _temp   j     a23b9      retVal

คำสงวน

รายการต่อไปนี้แสดงคำสงวนบางส่วนใน Tcl ห้ามใช้คำสงวนเหล่านี้เป็นค่าคงที่หรือตัวแปรหรือชื่อตัวระบุอื่น ๆ

หลังจาก ผนวก อาร์เรย์ auto_execok
auto_import auto_load auto_load_index auto_qualify
ไบนารี่ Bgerror หยุดพัก จับ
ซีดี นาฬิกา ปิด concat
ดำเนินการต่อ ผบ ค่าเริ่มต้น อื่น
อื่น ๆ การเข้ารหัส eof ข้อผิดพลาด
ประเมิน Exec ทางออก expr
fblocked F กำหนดค่า fcopy ไฟล์
fileevent ฟลัช สำหรับ แต่ละ
รูปแบบ ได้รับ ลูกโลก ทั่วโลก
ประวัติศาสตร์ ถ้า ข้อมูล ล่าม
เข้าร่วม Lappend ต้นไม้ชนิดหนึ่ง linsert
รายการ ความยาว โหลด lrange
lreplace Lsearch สั้น เนมสเปซ
เปิด แพ็คเกจ pid pkg_mkIndex
proc ทำให้ pwd อ่าน
regexp Regsub เปลี่ยนชื่อ ทรัพยากร
กลับ สแกน แสวงหา ชุด
เบ้า ที่มา แยก สตริง
สถานีย่อย สวิตซ์ tclLog บอก
เวลา ติดตาม ไม่ทราบ ยกเลิกการตั้งค่า
อัพเดต Uplevel upvar ตัวแปร
vwait ในขณะที่

ช่องว่างใน Tcl

บรรทัดที่มีเฉพาะช่องว่างซึ่งอาจมีความคิดเห็นเรียกว่า a blank lineและล่าม Tcl ไม่สนใจมันโดยสิ้นเชิง

Whitespace เป็นคำที่ใช้ใน Tcl เพื่ออธิบายช่องว่างแท็บอักขระขึ้นบรรทัดใหม่และข้อคิดเห็น ช่องว่างแยกส่วนหนึ่งของคำสั่งออกจากอีกส่วนหนึ่งและช่วยให้ล่ามระบุตำแหน่งที่องค์ประกอบหนึ่งในคำสั่งเช่น puts สิ้นสุดและองค์ประกอบถัดไปเริ่มต้น ดังนั้นในข้อความต่อไปนี้ -

#!/usr/bin/tclsh

puts "Hello World!"

ต้องมีอักขระเว้นวรรคอย่างน้อยหนึ่งตัว (โดยปกติจะเป็นช่องว่าง) ระหว่าง "puts" และ "Hello World!" เพื่อให้ล่ามสามารถแยกแยะได้ ในทางกลับกันในข้อความต่อไปนี้ -

#!/usr/bin/tclsh

puts [expr 3 + 2] ;# print sum of the 3 and 2

เมื่อดำเนินการโค้ดด้านบนจะให้ผลลัพธ์ดังนี้ -

5

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