Tcl - ตัวแปรพิเศษ
ใน Tcl เราจำแนกตัวแปรบางตัวเป็นตัวแปรพิเศษและมีการใช้งาน / ฟังก์ชันที่กำหนดไว้ล่วงหน้า รายการตัวแปรพิเศษแสดงอยู่ด้านล่าง
ซีเนียร์ | ตัวแปรพิเศษและคำอธิบาย |
---|---|
1 | argc หมายถึงอาร์กิวเมนต์บรรทัดคำสั่งจำนวนหนึ่ง |
2 | argv หมายถึงรายการที่มีอาร์กิวเมนต์บรรทัดคำสั่ง |
3 | argv0 หมายถึงชื่อไฟล์ของไฟล์ที่กำลังตีความหรือชื่อที่เราเรียกใช้สคริปต์ |
4 | env ใช้สำหรับแทนอาร์เรย์ขององค์ประกอบที่เป็นตัวแปรสภาพแวดล้อม |
5 | errorCode ระบุรหัสข้อผิดพลาดสำหรับข้อผิดพลาด Tcl ล่าสุด |
6 | errorInfo จัดเตรียมการติดตามสแต็กสำหรับข้อผิดพลาด Tcl ล่าสุด |
7 | tcl_interactive ใช้เพื่อสลับระหว่างโหมดโต้ตอบและโหมดไม่โต้ตอบโดยตั้งค่านี้เป็น 1 และ 0 ตามลำดับ |
8 | tcl_library ใช้สำหรับตั้งค่าตำแหน่งของไลบรารี Tcl มาตรฐาน |
9 | tcl_pkgPath แสดงรายการไดเร็กทอรีที่โดยทั่วไปมีการติดตั้งแพ็กเกจ |
10 | tcl_patchLevel หมายถึงระดับแพตช์ปัจจุบันของล่าม Tcl |
11 | tcl_platform ใช้สำหรับแสดงอาร์เรย์ขององค์ประกอบที่มีออบเจ็กต์รวมถึง byteOrder, machine, osVersion, platform และ os |
12 | tcl_precision หมายถึงความแม่นยำเช่นจำนวนหลักที่จะคงไว้เมื่อแปลงเป็นตัวเลขทศนิยมเป็นสตริง ค่าเริ่มต้นคือ 12 |
13 | tcl_prompt1 หมายถึงพรอมต์หลัก |
14 | tcl_prompt2 หมายถึงพรอมต์รองที่มีคำสั่งที่ไม่ถูกต้อง |
15 | tcl_rcFileName จัดเตรียมไฟล์เริ่มต้นเฉพาะสำหรับผู้ใช้ |
16 | tcl_traceCompile ใช้สำหรับควบคุมการติดตามของการคอมไพล์ bytecode ใช้ 0 สำหรับไม่มีเอาต์พุต 1 สำหรับสรุปและ 2 สำหรับรายละเอียด |
17 | tcl_traceExec ใช้สำหรับควบคุมการติดตามของการดำเนินการ bytecode ใช้ 0 สำหรับไม่มีเอาต์พุต 1 สำหรับสรุปและ 2 สำหรับรายละเอียด |
18 | tcl_version ส่งคืนเวอร์ชันปัจจุบันของตัวแปล Tcl |
ตัวแปรพิเศษข้างต้นมีความหมายพิเศษสำหรับล่าม Tcl
ตัวอย่างการใช้ตัวแปรพิเศษ Tcl
มาดูตัวอย่างตัวแปรพิเศษกัน
รุ่น Tcl
#!/usr/bin/tclsh
puts $tcl_version
เมื่อคุณรันโปรแกรมคุณจะได้ผลลัพธ์ที่คล้ายกันดังแสดงด้านล่าง -
8.6
เส้นทางสิ่งแวดล้อม Tcl
#!/usr/bin/tclsh
puts $env(PATH)
เมื่อคุณรันโปรแกรมคุณจะได้ผลลัพธ์ที่คล้ายกันดังแสดงด้านล่าง -
/home/cg/root/GNUstep/Tools:/usr/GNUstep/Local/Tools:/usr/GNUstep/
System/Tools:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/webmaster/.local/bin:/
home/webmaster/bin:/usr/local/scriba/bin:/usr/local/smlnj/
bin:/usr/local/bin/std:/usr/local/bin/extra:/usr/local/fantom/bin:/usr/
local/dart/bin:/usr/bin:/usr/local/bin:/usr/local/sbin:/usr/sbin:/opt/mono/
bin:/opt/mono/lib/mono/4.5:/usr/local/bin:.:/usr/libexec/sdcc:/usr/local/
icon-v950/bin:/usr/local/mozart/bin:/opt/Pawn/bin:/opt/jdk1.7.0_75/bin:/
opt/jdk1.7.0_75/jre/bin:/opt/pash/Source/PashConsole/bin/Debug/
เส้นทางแพ็คเกจ Tcl
#!/usr/bin/tclsh
puts $tcl_pkgPath
เมื่อคุณรันโปรแกรมคุณจะได้ผลลัพธ์ที่คล้ายกันดังแสดงด้านล่าง -
/usr/lib64/tcl8.6 /usr/share/tcl8.6 /usr/lib64/tk8.6 /usr/share/tk8.6
ห้องสมุด Tcl
#!/usr/bin/tclsh
puts $tcl_library
เมื่อคุณรันโปรแกรมคุณจะได้ผลลัพธ์ที่คล้ายกันดังแสดงด้านล่าง -
/usr/share/tcl8.6
ระดับแพทช์ Tcl
#!/usr/bin/tclsh
puts $tcl_patchLevel
เมื่อคุณรันโปรแกรมคุณจะได้ผลลัพธ์ที่คล้ายกันดังแสดงด้านล่าง -
8.6.6
Tcl แม่นยำ
#!/usr/bin/tclsh
puts $tcl_precision
เมื่อคุณรันโปรแกรมคุณจะได้ผลลัพธ์ที่คล้ายกันดังแสดงด้านล่าง -
0
ไฟล์เริ่มต้น Tcl
#!/usr/bin/tclsh
puts $tcl_rcFileName
เมื่อคุณรันโปรแกรมคุณจะได้ผลลัพธ์ที่คล้ายกันดังแสดงด้านล่าง -
~/.tclshrc