Nhảy chuyển tới nội dung

Tcl

本页使用了标题或全文手工转换
Duy cơ bách khoa, tự do bách khoa toàn thư
Tcl
Biên trình phạm hìnhNhiều phiếm hình,Mặt hướng đối tượng,Hàm số thức,Quá trình thức,Sự kiện điều khiển,Mệnh lệnh thức
Thiết kế giảJohn Ousterhout(Tiếng Anh:John Ousterhout)
Thật tác giảJohn Ousterhout, Tcl trung tâm đoàn đội
Phát hành thời gian1988 năm
Trước mặt phiên bản
  • 8.7a5(2021 năm 6 nguyệt 18 ngày; thí nghiệm phiên bản )[1]
  • 8.6.14(2024 năm 2 nguyệt 29 ngày; ổn định phiên bản )[2]
編輯維基數據鏈接
Hình thái hệ thốngĐộng thái loại hình,Vạn vật đều có thể coi làmTự phù xuyến
Văn kiện mở rộng danh.tcl
Trang webtcl.tk
Chủ yếu thật làm sản phẩm
ActiveTcl
Dẫn dắt ngôn ngữ
AWK,Lisp
Ảnh hưởng ngôn ngữ
PowerShell[3],Tea(Tiếng Anh:Tea (programming language))

Tcl( phát âm tickle ) là một loạiKịch bản gốc ngôn ngữ.TừJohn Ousterhout(Tiếng Anh:John Ousterhout)Sáng tạo. TCL thường xuyên bị dùng cho nhanh chóng nguyên hình khai pháRAD,Kịch bản gốc biên trình, GUI biên trình cùng thí nghiệm chờ phương diện.

Đặc tính

[Biên tập]

Tcl đặc tính bao gồm:

  • Bất cứ thứ gì đều là một cái mệnh lệnh, bao gồm ngữ pháp kết cấu ( for, if chờ ), lấyBa Lan tỏ vẻ phápViết.
  • Mệnh lệnh thông thường có thể biến đổi.
  • Bất luận cái gì sự vật đều có thể một lần nữa định nghĩa cùng trọng tái.
  • Sở hữu số liệu loại hình đều có thể coi như tự phù xuyến, bao gồm nguyên số hiệu.
  • Có được hoàn toàn động thái, căn cứ vào loại đối tượng hệ thống TclOO, duy trì bao gồm nguyên loại, lọc khí cùngmixinỞ bên trong cao cấp công năng.
  • Cung cấpSự kiện điều khiểnCấpBộ tiếp tựCùngVăn kiện.Căn cứ vào thời gian hoặc là người dùng định nghĩa sự kiện cũng có thể.
  • Cam chịu lượng biến đổi tác dụng vực là từ pháp tác dụng vực, nhưnguplevelCùngupvarCho phép quá trình cùng phong bế hàm số tác dụng vực lẫn nhau.
  • Sở hữu nội trí mệnh lệnh sẽ ở dùng lộn khi sinh ra sai lầm tin tức.
  • Thực dễ dàng dùng C, C++ hoặc là Java mở rộng.
  • Giải thích ngôn ngữ, duy trìByte mã.
  • Hoàn toànUnicode( 3.1 ) duy trì, 1999 năm lần đầu tuyên bố.
  • Vượt ngôi cao. Duy trìWin32,UNIX,Linux,MacChờ.
  • Cùng GUI khai phá bộ kiệnTkChặt chẽ tổng thể.
  • Số hiệu chặt chẽ, dễ dàng giữ gìn.
  • Tồn tại nhiều loại phát hành bản:
    • Batteries-Included phiên bản, như ActiveState ActiveTcl
    • tclkit, một loại đơn văn kiện vận hành khi hoàn cảnh, chỉ có 1 triệu lớn nhỏ
    • starpack, kịch bản gốc / trình tự đơn văn kiện nhưng chấp hành văn kiện, đẻ ra tự tclkit kỹ thuật
    • freewrapTCLSH[4]Đem Tcl kịch bản gốc đóng gói vì đơn cái nhưng chấp hành cơ số hai văn kiện.
    • BSD licenses,Tự do nhưng lại phát hành nguyên số hiệu.

Cũ bản Tcl không có nội tríMặt hướng đối tượngCông năng, bởi vậy rất nhiều OO kho lấy mở rộng hình thức xuất hiện ra tới, nhưincr TclCùngXOTcl,Thậm chí tồn tại thuần kịch bản gốc biên soạn OO bao, nhưSnitCùngSTOOOP( simple Tcl-only object-oriented programming ), 8.6 phiên bản ở bên trong hạch trung cung cấp OO công năng[5].

Safe-Tcl là công năng chịu hạn Tcl tử tập. Văn kiện hệ thống phỏng vấn chịu hạn, tùy ý hệ thống mệnh lệnh cấm chấp hành. Nó sử dụng song giải thích khí mô hình, ở “Không thể tin giải thích khí” trung vận hành không thể tin kịch bản gốc trung số hiệu. TừNathaniel BorensteinCùngMarshall RoseThiết kế, dùng để ở điện tử bưu kiện trung bao hàm hoạt động tin tức, đương duy trìapplication/safe-tclCùngmultipart-enabled-mailKhi, Safe-Tcl có thể bao hàm với điện tử bưu kiện trung. Safe-Tcl công năng đã chỉnh hợp ở tiêu chuẩn Tcl/Tk tuyên bố trung.[6][7]

Mở rộng bao

[Biên tập]

Tcl duy trì mở rộng bao, này đó mở rộng bao cung cấp phụ gia công năng ( như là GUI, đầu cuối trình tự tự động hoá, cơ sở dữ liệu phỏng vấn chờ ). Thường dùng mở rộng bao có:

Tk
TkCông cụ bao là nhất lưu hành Tcl mở rộng, ở nhiều loạiThao tác hệ thốngNâng lên cungĐồ hình người dùng giao diện.Mỗi cái GUI từ một cái hoặc nhiềuDàn giáo(framework) tạo thành, mỗi cáiDàn giáoỞ trong chứa bố cục quản lý khí.
Expect
ExpectLà mặt khác một loại phi thường lưu hành Tcl mở rộng. Lúc đầu, Expect đối Tcl ở nhiều loại lĩnh vực lưu hành kể công cực vĩ, như ở thí nghiệm trong lĩnh vực, cho đến ngày nay Expect vẫn như cũ bị đại lượng sử dụng với telnet, ssh cùng xuyến khẩu hội thoại lặp lại nhiệm vụ tự động hoá, tức đối chỉ có đầu cuối lẫn nhau tiếp lời trình tự tiến hành biên trình. Tcl là vận hành Expect duy nhất phương thức, bởi vậy Tcl tại đây loại công nghiệp trong lĩnh vực thập phần lưu hành.
Tile/Ttk
Tile/Ttk[8]Là phong cách cùng chủ đề hóa khống kiện tập, nhưng thay thế Tk trung đại đa số khống kiện, chân chính thuyên chuyểnThao tác hệ thốngAPIThực hiện nguyên sinh giao diện. Phương thức này cung cấp chủ đề bao gồmWindows XP,Windows Classic,QtCùngAqua( Mac OS X ). Chủ đề cũng có thể sử dụng hình ảnhpixmapHơn nữa nhất định định nghĩa cấu tạo, tránh cho thuyên chuyển hệ thống API. Lấy phương thức này sáng tạo chủ đề có Classic Tk, Step, Alt/Revitalized, Plastik cùng Keramik. Tcl 8.4 trung, này bao gọi Tile, ở 8.5 trung lấy Ttk tên tiến vào Tk trung tâm tuyên bố.
Tix
Tix ( Tk Interface eXtension ) là một bộ khai nguyên, dùng cho mở rộng Tcl/Tk cùng Python ứng dụng trình tự công năng người dùng giao diện lắp ráp. Từ Tix Project Group giữ gìn, lấy BSD phong cách cho phép tuyên bố.[9]
Itcl/IncrTcl
ItclLà Tcl rất nhiều đối tượng hệ thống trung một loại, thông thường xưng là [incr Tcl] ( tăng lên Tcl chi ý, cùng loại C++ chi danh ).
Tcllib
TcllibLà một bộ thuần kịch bản gốc Tcl bao, không cần biên dịch.
TclUDP
TclUDP[10]Cung cấp nói thẳng phương thức duy trìUDPBộ tiếp tự.
Cơ sở dữ liệu
Tcl cơ sở dữ liệu lẫn nhau liên ( Tcl Database Connectivity, TDBC ) là Tcl 8.6 một bộ phận, vì Tcl kịch bản gốc cung cấp thường dùng cơ sở dữ liệu phỏng vấn tiếp lời, trước mắt điều khiển khí duy trìMySQL,ODBC,PostgreSQLCùngSQLiteCơ sở dữ liệu. Càng nhiều số liệu kho đã có kế hoạch. Đồng dạng, cũng có thể sử dụng rất rất nhiều cơ sở dữ liệu chuyên dụng mở rộng bao phỏng vấn cơ sở dữ liệu.[11]

Kiểu mẫu

[Biên tập]

Phía dưới là TCL trình tự ví dụ:

#!/bin/sh
# next line restarts using tclsh in path \
exec tclsh $0 ${1+ "$@" }

# echo server that can handle multiple
# simultaneous connections.

procnewConnection{sockaddrport}{

# client connections will be handled in
# line-buffered, non-blocking mode
fconfigure$sock-blockingno-bufferingline

# call handleData when socket is readable
fileevent$sockreadable[listhandleData$sock]
}

prochandleData{sock}{
puts$sock[gets$sock]
if{[eof$sock]}{
close$sock
}
}

# handle all connections to port given
# as argument when server was invoked
# by calling newConnection
setport[lindex$argv0]
socket-servernewConnection$port

# enter the event loop by waiting
# on a dummy variable that is otherwise
# unused.
vwaitforever

Một cái khác Tk ví dụ ( đến từA simple A/D clock) nó sử dụng đúng giờ khí thời gian, 3 hành liền biểu hiện một cái đồng hồ.

procevery{msbody}{eval$body;after$ms[infolevel0]}
pack[label.clock-textvartime]
every1000{set::time[clockformat[clocksec]-format%H:%M:%S]};# RS

Giải thích: Đệ nhất hành định nghĩa quá trình every, mỗi cách ms hào giây, liền một lần nữa chấp hành body số hiệu. Đệ nhị hành sáng lập nhãn này nội dung từ time lượng biến đổi quyết định. Đệ 3 hành trung thiết trí đúng giờ khí, time lượng biến đổi từ trước mặt thời gian trung mỗi giây đổi mới một lần.

Tham khảo tư liệu

[Biên tập]
  1. ^Tcl / Tk 8.7a5 RELEASED.2021 năm 6 nguyệt 18 ngày[2021 năm 10 nguyệt 16 ngày ]( tiếng Anh ).
  2. ^[TCLCORE] Tcl/Tk 8.6.14 RELEASED.2024 năm 2 nguyệt 29 ngày[2024 năm 3 nguyệt 1 ngày ].
  3. ^PowerShell and WPF: WTF.[2022-03-06].( nguyên thủy nội dungLưu trữVới 2008-12-25 ).
  4. ^freewrapTCLSH(Giao diện lưu trữ sao lưu,Tồn vớiInternet hồ sơ quán)
  5. ^8.6 phiên bản ở bên trong hạch trung cung cấp OO công năng(Giao diện lưu trữ sao lưu,Tồn vớiInternet hồ sơ quán)
  6. ^Brown, Lawrie.Mobile Code Security.Terry Bossomaier, Lucy Chubb ( biên ). Proceedings, 2nd Joint Conference, AUUG '96 and Asia-Pacific WWW '96. Melbourne, Australia: 50. September 18–20, 1996[2011-03-22].( nguyên thủy nội dungLưu trữVới 2011-05-11 ).
  7. ^Welch, Brent B.; Jones, Ken; Hobbs, Jeffrey. Practical programming in Tcl and Tk14th. Prentice Hall PTR. 2003: 291.ISBN0-13-038560-3.
  8. ^TK Table Sourceforge Project.ActiveTcl.[August 7,2012].(Nguyên thủy nội dungLưu trữ với 2014-07-13 ).
  9. ^Tix License.Sourceforge.[August 7,2012].( nguyên thủy nội dungLưu trữVới 2013-03-22 ).
  10. ^TCL UDP.Tcl'ers Wiki.[August 7,2012].( nguyên thủy nội dungLưu trữVới 2015-01-04 ).
  11. ^TDBC.Tcl'ers Wiki.[August 7,2012].( nguyên thủy nội dungLưu trữVới 2009-05-29 ).

Phần ngoài liên tiếp

[Biên tập]