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