ตัวอย่างการเขียนโปรแกรม Tcl บทแนะนำและอื่น ๆ

การเปิดเผยข้อมูล: การสนับสนุนของคุณช่วยให้เว็บไซต์ทำงานต่อไป! เราได้รับค่าธรรมเนียมการอ้างอิงสำหรับบริการบางอย่างที่เราแนะนำในหน้านี้.


Tcl หรือ “ภาษาคำสั่งเครื่องมือ” (และออกเสียงว่า “จี้”) เป็นภาษาสคริปต์ที่พิมพ์แบบไดนามิกซึ่ง แต่เดิมคิดค้นขึ้นในช่วงปลายยุค 80 มันมักจะใช้สำหรับการสร้างต้นแบบและระบบฝังตัว แต่มันค่อนข้างมีความสามารถเพียงพอที่จะใช้สำหรับการใช้งานเต็มรูปแบบ มันได้รับอิทธิพลจากและมีความคล้ายคลึงกับเสียงกระเพื่อม.

Tk เป็นชุดเครื่องมือ GUI ที่เกี่ยวข้องอย่างใกล้ชิด มันเป็นส่วนเสริมของ Tcl แต่ขณะนี้สามารถใช้งานได้กับหลายภาษาอื่น ๆ.

Tcl และ Tk ถูกสร้างขึ้นโดยโปรแกรมเมอร์คนเดียวกันและมักถูกใช้งานราวกับว่ามันเป็นส่วนประกอบของเครื่องมือเดียว พวกเขายังแบ่งปันหมายเลขรุ่น ร่วมกันพวกเขามักจะถูกเรียกว่า “Tcl / Tk” และพวกเขาเป็นเทคโนโลยีที่มีประสิทธิภาพสำหรับการพัฒนาอย่างรวดเร็ว.

เกี่ยวกับภาษา Tcl

Tcl เป็นภาษาที่น่าสนใจ มันมีคุณสมบัติค่อนข้างผิดปกติหลายประการเมื่อเทียบกับภาษาโปรแกรมอื่น.

Tcl ไม่มีคำสงวนหรือโครงสร้างการควบคุม โครงสร้างการควบคุมเช่น “สำหรับ” และ “ถ้า” เป็นคำสั่งจริง ๆ คำสั่งใน Tcl สามารถแทนที่หรือกำหนดใหม่ดังนั้นโปรแกรมเมอร์สามารถเปลี่ยนสิ่งที่“ สำหรับ” (หรือโครงสร้างภาษาอื่น ๆ ) หมายถึงในโปรแกรม ในขณะที่สิ่งนี้มักไม่แนะนำให้เลือก แต่มีประสิทธิภาพมาก.

ชนิดข้อมูลทั้งหมดใน Tcl สามารถใช้เป็นสตริงได้เนื่องจากในวิธีที่สำคัญจะเป็นสตริง แม้แต่ซอร์สโค้ดก็สามารถจัดการได้เป็นสตริง จำนวนเต็ม 2 และสตริง "2" เป็นค่าเดียวกัน นี่ไม่ได้หมายความว่าตัวแปรทั้งหมดจะต้องถูกใช้เป็นสตริงตลอดเวลา ค่า 2 เป็นจำนวนเต็มเมื่อส่งผ่านเป็นอาร์กิวเมนต์ไปยังคำสั่งที่มีความหมายสำหรับจำนวนเต็ม ถ้า "สวัสดี" ถูกส่งไปยังคำสั่งที่จัดการกับอาร์กิวเมนต์เช่นเลขจำนวนเต็มผลลัพธ์จะไร้สาระหรือมีข้อผิดพลาด มันขึ้นอยู่กับโปรแกรมเมอร์เพื่อให้แน่ใจว่าค่าที่ถูกต้องถูกส่งผ่านเป็นอาร์กิวเมนต์.

ซึ่งหมายความว่าค่า Tcl เป็น polymorphic พื้นฐาน นอกจากนี้รหัสสามารถสร้างตรวจสอบและจัดการเช่นเดียวกับข้อมูลอื่น ๆ คุณสมบัติเหล่านี้ช่วยให้การวิปัสสนาที่มีประสิทธิภาพและเทคนิคการ metaprogramming.

วากยสัมพันธ์

ไวยากรณ์ของภาษานั้นง่ายมากและคล้ายกับภาษาสคริปต์ Bash: คำสั่งที่ไม่มีการตกแต่งตามด้วยอาร์กิวเมนต์หนึ่งตัวขึ้นไปคั่นด้วยช่องว่าง วงเล็บปีกกาถูกใช้เพื่อตั้งค่าการปิดอาร์กิวเมนต์ที่จำเป็นต้องมีช่องว่างในนั้น (นั่นคือภายในวงเล็บปีกกาช่องว่างไม่ใช่ตัวคั่นคำ).

# นี่คือความคิดเห็น ความคิดเห็นเริ่มต้นด้วยเครื่องหมายแฮช.

# คำสั่งที่ง่ายมากในการพิมพ์คำ "สวัสดี"
สวัสดีค่ะ

# แต่ถ้าเราต้องการจะพูด "สวัสดีชาวโลก"
ทำให้ {สวัสดีโลก}

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

แม้โครงสร้างการควบคุมที่ซับซ้อนดูเหมือนจะทำงานในลักษณะนี้ พิจารณาสิ่งต่อไปนี้:

ถ้า {$ a == 1} {ใส่ {Hello, World}} {ใส่ {Goodbye, โลกที่โหดร้าย! }}

คำสั่งที่ถูกเรียกคือถ้า อาร์กิวเมนต์แรกคือนิพจน์ที่จะประเมินค่า อาร์กิวเมนต์ต่อไปคือสคริปต์ที่จะเรียกใช้หากอาร์กิวเมนต์แรกเป็นจริง อาร์กิวเมนต์สุดท้ายเป็นสคริปต์ที่จะเรียกใช้หากอาร์กิวเมนต์แรกไม่เป็นจริง.

แน่นอนนี่คือการเขียนโปรแกรมขั้นพื้นฐานที่น่าสนใจ แต่เป็นที่น่าสนใจว่าล่ามจะจัดการกับไวยากรณ์นี้ได้อย่างไร นอกจากนี้หากการแสดงออกและสคริปต์เป็นคำเดียววงเล็บปีกกาจะไม่จำเป็น:

# สร้างสองกระบวนการใหม่
proc hello {} {ทำให้ {Hello, world! }}
proc goodbye {} {วาง {Goodbye, โลกที่โหดร้าย!}

# เงื่อนไขโดยไม่มีวงเล็บปีกกา
ถ้า $ a สวัสดีลาก่อน

นอกจากเครื่องหมายปีกกาแล้วยังมีโทเค็น“ การจัดกลุ่ม” เพิ่มเติมอีกสองรายการ: เครื่องหมายคำพูดคู่และวงเล็บเหลี่ยม.

เครื่องหมายคำพูดคู่และวงเล็บปีกกามีความคล้ายคลึงกัน (เนื่องจากทุกอย่างเป็นสตริง) ยกเว้นว่าเครื่องหมายคำพูดคู่แก้ไขตัวแปรในขณะที่เครื่องหมายปีกกาหยิกถือว่าเนื้อหาเป็นสตริงตามตัวอักษร.

# มอบหมาย "โลก" กับตัวแปร
ตั้งค่าโลก

ทำให้ $ a
# world

ใส่ {สวัสดี $ a}
# สวัสดี $ a

ทำให้ "สวัสดี $ a"
# สวัสดีชาวโลก

วงเล็บเหลี่ยมใช้สำหรับการทดแทนคำสั่ง นั่นคือเนื้อหาของคู่ของวงเล็บเหลี่ยมได้รับการประเมินครั้งแรกโดยล่ามแล้วค่าตอบแทนจะถูกแทนที่ลงในบรรทัดเป็นคำสั่งหรืออาร์กิวเมนต์.

ทำให้ [expr {1 + 1}]
# 2

# proc โง่ที่เพิ่งส่งคืนสตริง "ทำให้"
proc Returns_puts {} {return Put}

# ค่าส่งคืนกลายเป็นคำสั่ง
[return_puts] [expr {1 + 1}]
# 2

นอกจากนี้เนื่องจากคำสั่งเป็นเพียงสตริงค่าตัวแปรจึงอาจเป็นคำสั่งหรือทั้งบรรทัด.

# กำหนดสตริง "ทำให้ {นี่คือสตริง}" เพื่อฟู
set foo {ใส่ {นี่คือสตริง}}

$ foo
# นี่คือสตริง

ทำให้ $ foo
# ทำให้ {นี่คือสตริง}

อย่างที่คุณเห็น Tcl มีความยืดหยุ่นมาก.

Tcl แบบฝึกหัด

  • Tcl การสอนอย่างเป็นทางการเป็นสถานที่ที่ดีที่สุดในการเริ่มต้น;
  • Tcl Tutorial สำหรับผู้เริ่มต้น;
  • Tcl / Tk Tutorial ที่ Tutorials Point นั้นมีระเบียบและมีล่ามออนไลน์เพื่อให้คุณสามารถเริ่มใช้ Tcl ได้ทันที
  • TCLWISE เป็นหนังสือเก้าบทแรกของหนังสือเกี่ยวกับภาษา
  • การเขียนโปรแกรมใน Tcl เป็นหลักสูตรวิดีโอ 29 ส่วนที่มีอารมณ์ขัน;
  • Tcl Tutref เป็นคู่มือการสอนและการอ้างอิงที่ออกแบบมาเพื่อเป็น “ความเห็นที่สอง” ในเอกสารประกอบ Tcl อย่างเป็นทางการ;
  • Tcl สำหรับวัยรุ่นสอนคนหนุ่มสาวและคนใจแคบที่จะใช้ Tcl เพื่อสร้างเกมคอมพิวเตอร์
  • หากคุณกำลังมองหาหลักสูตรการเรียนที่สมบูรณ์แบบเป็นส่วนใหญ่เกี่ยวกับ Tcl ลองสิ่งเหล่านี้ในวิกิ Tcl อย่างเป็นทางการ:
    • Tcl เริ่มต้น;
    • Tcl กลาง;
    • บมจ. แอดวานซ์.

หนังสือเกี่ยวกับ Tcl / Tk

  • การเขียนโปรแกรมเชิงปฏิบัติใน Tcl และ Tk (2003) โดย Welch and Jones เป็นหนังสือเรียนที่เชื่อถือได้ทั้ง Tcl และ Tk โดยมีเนื้อหาครอบคลุมในเชิงลึกเพียงพอที่จะทำให้โปรแกรมเมอร์ที่มีประสบการณ์มาจากภาษาอื่น ๆ
  • Tcl / Tk รุ่นที่สอง: คู่มือนักพัฒนา (2003) โดย Clif Flynt เป็นหนังสือที่ใช้งานได้ดีมากครอบคลุมทั้งภาษาและระบบนิเวศการพัฒนาโดยมีเนื้อหาครอบคลุมเกี่ยวกับการใช้เครื่องมือส่วนขยายที่ใช้กันทั่วไปและแนวทางการพัฒนา
  • Tcl and Tk Toolkit (2009) โดย Oesterhout and Jones เป็นคู่มือที่ชัดเจนเกี่ยวกับภาษาที่ประพันธ์โดยนักประดิษฐ์
  • Tcl / Tk 8.5 Programming Cookbook (2011) โดย Bert Wheeler นำเสนอวิธีแก้ปัญหาเชิงปฏิบัติจำนวนมากสำหรับปัญหาทั่วไปในการเขียนโปรแกรม Tcl / Tk.

Tk – ชุดเครื่องมือ GUI สำหรับ Tcl

มีสาเหตุหลายประการที่ Tcl ได้รับความนิยมเมื่อทำเช่นนั้น แต่ Tk น่าจะเป็นสิ่งที่สำคัญที่สุด Tk ย่อมาจาก TOOLkมัน. ทำให้ง่ายต่อการสร้างส่วนต่อประสานผู้ใช้แบบกราฟิก (GUIs) ด้วย Tcl.

Tk จัดเตรียมชุดคำสั่งที่ค่อนข้างง่ายสำหรับการสร้าง GUI แบบฟอร์มที่มีองค์ประกอบเดสก์ท็อปตามปกติทั้งหมดที่คุณอาจคาดหวัง: ปุ่มกล่องอินพุตป้ายชื่อตัวเลือกประเภทต่าง ๆ แถบเลื่อนและอื่น ๆ องค์ประกอบเหล่านี้มีการระบุไว้ในซอร์สโค้ดของคุณพร้อมกับโค้ดที่สามารถเรียกใช้งานได้ที่เชื่อมต่อกับวิดเจ็ต – ตัวอย่างเช่นฟังก์ชันใดที่ควรรันเมื่อกดปุ่มหรือรายการตัวเลือกสำหรับเมนูตัวเลือก แม้ว่าไวยากรณ์จะแตกต่างกันคุณจะคุ้นเคยกับกระบวนการนี้หากคุณเคยทำงานกับแอปพลิเคชันหรือแบบฟอร์ม HTML / JS.

Tk เดิมได้รับการพัฒนาให้เป็นส่วนเสริมของ Tcl โดยบุคคลเดียวกันกับผู้คิดค้น Tcl แต่ Tcl กลายเป็นห้องสมุดข้ามแพลตฟอร์มได้อย่างรวดเร็วพร้อมให้โปรแกรมเมอร์ใช้ในหลายภาษา Tk เผยแพร่สู่สาธารณะในปี 1991 และโมดูล Tkinter ของ Python เปิดตัวในปี 1994 PerlTk ออกมาหลังจากนั้นไม่นาน.

ก่อนการเปิดตัว Tcl / Tk 8.5 มีเพียงการออกแบบภาพเดียวที่ควบคุมว่าองค์ประกอบเหล่านี้มองอย่างไร ขณะนี้มีชุดรูปแบบสำหรับระบบปฏิบัติการที่สำคัญดังนั้นแอปพลิเคชันที่สร้างขึ้นใน Tk จะดูเป็นธรรมชาติสำหรับแพลตฟอร์มที่ใช้งานอยู่.

เมื่อ Tk พร้อมใช้งานเป็นครั้งแรกมันเป็นหนึ่งในวิธีที่ง่ายที่สุดและเร็วที่สุดในการรับแอปพลิเคชัน GUI เดสก์ท็อปและทำงาน ถึงแม้ว่ามันจะใช้ได้เฉพาะ Tcl และ Unix ในตอนแรก แต่มันก็ถอดออกเพราะมันใช้ง่ายมาก วันนี้มีตัวเลือกมากมายมากกว่าที่เราเคยทำมา แต่ Tk ยังคงเป็นหนึ่งในวิธีที่มีประสิทธิภาพที่สุดในการสร้างต้นแบบอย่างรวดเร็วและพัฒนาแอปพลิเคชันเดสก์ท็อป.

Tk Tutorials

Tcl แบบฝึกหัด Tcl ที่กล่าวถึงข้างต้นมีข้อมูลเกี่ยวกับ Tk เน้นไปที่มันโดยเฉพาะ.

  • บทเรียนการเริ่มต้นใช้งานอย่างเป็นทางการเป็นจุดเริ่มต้นที่ดีมาก ทุกขั้นตอนมีตัวอย่างโค้ดสำหรับ Tcl, Ruby, Perl และ Python;
  • สร้าง GUI โดยใช้ Tk กับ Tcl Language เป็นบทเรียนที่ไม่เคารพสำหรับผู้ชมที่มีความรู้พื้นฐานในการเขียนโปรแกรม ผู้เขียนคนเดียวกันได้เขียน Tk tutorial สำหรับ Perl เช่นกัน.
  • Ruby / Tk Tutorial จาก RubyLearning.com เป็นจุดเริ่มต้นที่ดีสำหรับ Rubyists
  • Tk Implementation ของ Python เป็นส่วนหนึ่งของไลบรารี่มาตรฐานและเอกสาร Python อย่างเป็นทางการจะมีการสอนที่เป็นประโยชน์
  • Tcl / Tk ของผู้ที่ไม่ใช่โปรแกรมเมอร์คือการสอนทั้ง Tcl และ Tk แต่มีข้อสมมติฐานพื้นฐานที่ว่าคุณจะไม่ใช้ Tcl โดยไม่มี Tk.

ฉันควรเรียนรู้ Tcl?

Tcl เป็นภาษาที่ยอดเยี่ยม มันผ่านจุดสูงสุดในความนิยม แต่ยังคงมีชุมชนนักพัฒนาที่ใช้งานมากและรหัส Tcl มากมายในโลกที่ต้องการการดูแล.

ที่สำคัญมันแตกต่างกันจริงๆ หากคุณย้ายจาก JavaScript ไปยัง PHP เป็น Ruby เป็น Python คุณจะต้องอ่านแนวความคิดที่คล้ายกันมาก คุณกำลังเรียนรู้ไวยากรณ์ใหม่และคำหลักใหม่ แต่ไม่ใช่วิธีคิดใหม่อย่างแท้จริง.

Tcl เป็นหนึ่งในไม่กี่ภาษา (เช่น Lisp และ Erlang) ที่บังคับให้คุณใช้วิธีคิดต่าง ๆ เกี่ยวกับวิธีออกแบบโปรแกรม แม้ว่าคุณจะไม่ได้ใช้มันสำหรับโครงการในชีวิตจริงมันก็คุ้มค่าที่จะใช้เวลาในการเรียนรู้.

การอ่านและทรัพยากรเพิ่มเติม

เรามีคำแนะนำเพิ่มเติมบทแนะนำและอินโฟกราฟิกที่เกี่ยวข้องกับการเข้ารหัสและการพัฒนา:

  • คำแนะนำและทรัพยากร Perl: Perl เป็นอีกภาษาหนึ่งที่มีประสิทธิภาพ แต่ดั้งเดิมมากกว่า หาข้อมูลเพิ่มเติม.
  • Python บทนำทรัพยากรและคำถามที่พบบ่อย: รับข้อมูลทั้งหมดที่คุณต้องการในภาษาที่ตีความได้อย่างมีประสิทธิภาพนี้.
  • รู้เบื้องต้นเกี่ยวกับ Ruby on Rails: ค้นหาข้อมูลทั้งหมดเกี่ยวกับภาษาการเขียนโปรแกรมยอดนิยมนี้.

คุณควรเรียนรู้รหัสใด?

สับสนเกี่ยวกับภาษาการเขียนโปรแกรมใดที่คุณควรเรียนรู้ที่จะใช้รหัส? ตรวจสอบอินโฟกราฟิกของเราคุณควรเรียนรู้รหัสใด ไม่เพียง แต่พูดถึงแง่มุมต่าง ๆ ของภาษาเท่านั้น แต่ยังตอบคำถามสำคัญเช่น“ ฉันจะใช้เงินเป็นจำนวนเท่าใดในการเขียนโปรแกรม Java เพื่อการใช้ชีวิต?”

คุณควรเรียนรู้รหัสใด
คุณควรเรียนรู้รหัสใด?

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map