Tcl - Các kiểu dữ liệu

Kiểu dữ liệu ban đầu của Tcl là chuỗi và thường chúng ta có thể tìm thấy dấu ngoặc kép trên Tcl dưới dạng ngôn ngữ chỉ chuỗi. Các kiểu dữ liệu nguyên thủy này lần lượt tạo ra các kiểu dữ liệu tổng hợp cho danh sách và mảng kết hợp. Trong Tcl, kiểu dữ liệu không chỉ có thể biểu diễn các đối tượng Tcl đơn giản mà còn có thể biểu diễn các đối tượng phức tạp như tay cầm, đối tượng đồ họa (chủ yếu là widget) và các kênh I / O. Chúng ta hãy xem xét chi tiết về từng điều trên.

Đối tượng Tcl đơn giản

Trong Tcl, cho dù đó là một số nguyên, boolean, số dấu phẩy động hay một chuỗi. Khi muốn sử dụng một biến, bạn có thể gán trực tiếp giá trị cho nó, không có bước khai báo trong Tcl. Có thể có các đại diện bên trong cho các loại đối tượng khác nhau này. Nó có thể chuyển đổi kiểu dữ liệu này sang kiểu dữ liệu khác khi được yêu cầu. Cú pháp để gán giá trị cho biến như sau:

#!/usr/bin/tclsh

set myVariable 18
puts $myVariable

Khi đoạn mã trên được thực thi, nó tạo ra kết quả sau:

18

Câu lệnh trên sẽ tạo một tên biến myVariable và lưu trữ nó dưới dạng một chuỗi mặc dù, chúng ta chưa sử dụng dấu ngoặc kép. Bây giờ, nếu chúng ta cố gắng thực hiện một số học trên biến, nó sẽ tự động chuyển thành số nguyên. Một ví dụ đơn giản được hiển thị bên dưới:

#!/usr/bin/tclsh

set myVariable 18
puts [expr $myVariable + 6 + 9]

Khi đoạn mã trên được thực thi, nó tạo ra kết quả sau:

33

Một điều quan trọng cần lưu ý là, các biến này không có bất kỳ giá trị mặc định nào và phải được gán giá trị trước khi chúng được sử dụng.

Nếu chúng ta cố gắng in bằng cách sử dụng lệnh, số được chuyển thành chuỗi thích hợp. Có hai cách biểu diễn, bên trong và bên ngoài, giúp Tcl dễ dàng tạo ra các cấu trúc dữ liệu phức tạp so với các ngôn ngữ khác. Ngoài ra, Tcl hiệu quả hơn do bản chất đối tượng động của nó.

Biểu diễn chuỗi

Không giống như các ngôn ngữ khác, trong Tcl, bạn không cần bao gồm dấu ngoặc kép khi nó chỉ là một từ duy nhất. Một ví dụ có thể là -

#!/usr/bin/tclsh

set myVariable hello
puts $myVariable

Khi đoạn mã trên được thực thi, nó tạo ra kết quả sau:

hello

Khi muốn biểu diễn nhiều chuỗi, chúng ta có thể sử dụng dấu ngoặc kép hoặc dấu ngoặc nhọn. Nó được hiển thị bên dưới -

#!/usr/bin/tclsh

set myVariable "hello world"
puts $myVariable
set myVariable {hello world}
puts $myVariable

Khi đoạn mã trên được thực thi, nó tạo ra kết quả sau:

hello world
hello world

Danh sách

Danh sách không là gì ngoài một nhóm các yếu tố. Một nhóm từ sử dụng dấu ngoặc kép hoặc dấu ngoặc nhọn có thể được sử dụng để biểu diễn một danh sách đơn giản. Một danh sách đơn giản được hiển thị bên dưới:

#!/usr/bin/tclsh

set myVariable {red green blue}
puts [lindex $myVariable 2]
set myVariable "red green blue"
puts [lindex $myVariable 1]

Khi đoạn mã trên được thực thi, nó tạo ra kết quả sau:

blue
green

Mảng liên kết

Mảng liên kết có một chỉ mục (khóa) không nhất thiết phải là một số nguyên. Nó thường là một chuỗi hoạt động giống như các cặp giá trị khóa. Một ví dụ đơn giản được hiển thị bên dưới:

#!/usr/bin/tclsh

set  marks(english) 80
puts $marks(english)
set  marks(mathematics) 90
puts $marks(mathematics)

Khi đoạn mã trên được thực thi, nó tạo ra kết quả sau:

80
90

Xử lý

Tay cầm Tcl thường được sử dụng để biểu diễn các tệp và các đối tượng đồ họa. Chúng có thể bao gồm các xử lý đối với các yêu cầu mạng và cả các kênh khác như giao tiếp cổng nối tiếp, ổ cắm hoặc thiết bị I / O. Sau đây là một ví dụ nơi một tệp xử lý được tạo.

set myfile [open "filename" r]

Bạn sẽ xem chi tiết hơn về các tệp trong chương I / O tệp Tcl .