Tcl - Biến
Trong Tcl, không có khái niệm khai báo biến. Khi gặp một tên biến mới, Tcl sẽ định nghĩa một biến mới.
Đặt tên biến
Tên của các biến có thể chứa bất kỳ ký tự và độ dài nào. Bạn thậm chí có thể có khoảng trắng bằng cách đặt biến trong dấu ngoặc nhọn, nhưng nó không được ưu tiên.
Lệnh set được sử dụng để gán giá trị cho một biến. Cú pháp cho lệnh set là,
set variableName value
Dưới đây là một số ví dụ về các biến số:
#!/usr/bin/tclsh
set variableA 10
set {variable B} test
puts $variableA
puts ${variable B}
Khi đoạn mã trên được thực thi, nó tạo ra kết quả sau:
10
test
Như bạn thấy trong chương trình trên, $ variableName được sử dụng để lấy giá trị của biến.
Nhập động
Tcl là một ngôn ngữ được gõ động. Giá trị của biến có thể được chuyển đổi động thành kiểu cần thiết khi được yêu cầu. Ví dụ, một số 5 được lưu trữ dưới dạng chuỗi sẽ được chuyển đổi thành số khi thực hiện một phép toán số học. Nó được hiển thị bên dưới -
#!/usr/bin/tclsh
set variableA "10"
puts $variableA
set sum [expr $variableA +20];
puts $sum
Khi đoạn mã trên được thực thi, nó tạo ra kết quả sau:
10
30
Biểu thức toán học
Như bạn có thể thấy trong ví dụ trên, expr được sử dụng để biểu diễn biểu thức toán học. Độ chính xác mặc định của Tcl là 12 chữ số. Để có được kết quả dấu phẩy động, chúng ta nên thêm ít nhất một chữ số thập phân. Một ví dụ đơn giản giải thích điều trên.
#!/usr/bin/tclsh
set variableA "10"
set result [expr $variableA / 9];
puts $result
set result [expr $variableA / 9.0];
puts $result
set variableA "10.0"
set result [expr $variableA / 9];
puts $result
Khi đoạn mã trên được thực thi, nó tạo ra kết quả sau:
1
1.1111111111111112
1.1111111111111112
Trong ví dụ trên, bạn có thể thấy ba trường hợp. Trong trường hợp đầu tiên, số bị chia và số bị chia là số nguyên và kết quả là chúng ta nhận được một số nguyên. Trong trường hợp thứ hai, số bị chia là số thập phân và trong trường hợp thứ ba, số bị chia là số thập phân. Trong cả trường hợp thứ hai và thứ ba, kết quả là chúng ta nhận được một số thập phân.
Trong đoạn mã trên, bạn có thể thay đổi độ chính xác bằng cách sử dụng biến đặc biệt tcl_pre precision. Nó được hiển thị bên dưới -
#!/usr/bin/tclsh
set variableA "10"
set tcl_precision 5
set result [expr $variableA / 9.0];
puts $result
Khi đoạn mã trên được thực thi, nó tạo ra kết quả sau:
1.1111