Lolcode - Các biến

Như trong bất kỳ ngôn ngữ lập trình nào khác, LOLCODE cho phép bạn xác định các biến thuộc nhiều loại khác nhau. Chương này sẽ giúp bạn làm quen với các biến trong LOLCODE.

Phạm vi của các biến

Phạm vi của một biến là cục bộ đối với hàm hoặc đối với khối chương trình, tức là một biến được xác định trong một phạm vi không thể được gọi trong bất kỳ phạm vi nào khác của cùng một chương trình. Các biến chỉ có thể truy cập sau khi chúng được khai báo.

Xin lưu ý rằng không có phạm vi toàn cục của các biến trong LOLCODE.

Quy ước đặt tên

Tên biến thường được gọi là định danh. Dưới đây là một số quy ước đặt tên biến trong LOLCODE -

  • Các số nhận dạng biến có thể bằng tất cả các chữ viết hoa hoặc viết thường (hoặc kết hợp cả hai).

  • Chúng chỉ có thể bắt đầu bằng một chữ cái và sau đó có thể được theo sau bởi các chữ cái, số và dấu gạch dưới khác.

  • LOLCODE không cho phép sử dụng dấu cách, dấu gạch ngang hoặc các ký hiệu khác trong khi đặt tên biến.

  • Số nhận dạng biến có phân biệt chữ hoa chữ thường.

Dưới đây là một số quy tắc cho tên hợp lệ và không hợp lệ cho các biến trong LOLCODE−

  • Tên phải luôn bắt đầu bằng một bảng chữ cái. Ví dụ,name, Name có giá trị.

  • Tên của một biến không được bắt đầu bằng một chữ số. Ví dụ,2var không có hiệu lực.

  • Tên của một biến không được bắt đầu bằng một ký tự đặc biệt.

  • Một biến có thể chứa _ hoặc một chữ số ở bất kỳ đâu bên trong tên của nó, ngoại trừ ở chỉ mục bắt đầu. Ví dụ,name2_m là một tên hợp lệ.

Dưới đây là một số ví dụ về tên hợp lệ trong LOLCODE -

HAI 1.2
I HAS A food ITZ "111.00033"
I HAS A food2 ITZ "111"
I HAS A fo_od ITZ "1"
VISIBLE food
VISIBLE food2
VISIBLE fo_od
KTHXBYE

Tất cả các câu lệnh khai báo trong đoạn mã trên đều hợp lệ và sẽ tạo ra kết quả sau khi được thực thi:

sh-4.3$ lci main.lo
111.00033
111
1

Dưới đây là một số ví dụ về các câu lệnh không hợp lệ và đầu ra của chúng:

ví dụ 1

HAI 1.2
I HAS A 2food ITZ "111.00033"
KTHXBYE

Đoạn mã trên sẽ cho kết quả sau khi bạn thực thi nó:

sh-
4.3$ lci main.lo
Line 2: Expected: identifier; Got: int(2).

Ví dụ 2

HAI 1.2
I HAS A _food ITZ "111.00033"
KTHXBYE

Đoạn mã trên sẽ cho kết quả sau khi bạn thực thi nó:

sh-
4.3$ lci main.lo
Line 2: Unrecognized sequence at: _food ITZ "111.00033".

Ví dụ 3

HAI 1.2
I HAS A f$ood ITZ "111.00033"
KTHXBYE

Đoạn mã trên sẽ cho kết quả sau khi bạn thực thi nó:

sh-
4.3$ lci main.lo
Line 2: Unrecognized sequence at: $ood ITZ "111.00033".

Khai báo và chỉ định các biến

Đến declaremột biến, LOLCODE cung cấp từ khóa “TÔI CÓ A” theo sau là tên biến. Bạn có thể tìm thấy cú pháp khai báo một biến bên dưới.

I HAS A VAR BTW VAR is empty now, You can use any name instead of var

Đến assignbiến một giá trị trong cùng một câu lệnh, sau đó bạn có thể theo sau tên biến với “ITZ” và sau đó đưa ra giá trị bạn muốn gán. Sử dụng cú pháp sau để gán giá trị cho một biến:

<variable> R <expression>

Thí dụ

VAR R "Green"         BTW VAR is now a YARN and equals "Green"
VAR R 30              BTW VAR is now a NUMBR and equals 30

Bạn cũng có thể declareassign đồng thời sử dụng cú pháp sau:

I HAS A VAR ITZ VALUE

Thí dụ

I HAS A NAME ITS “TUTORIALS POINT”

Thí dụ

HAI 1.2
BTW this is how we declare variables
I HAS A food
I HAS A bird

BTW this is how we assign variables
food R 1
bird R 5

BTW this is how initialize variables
I HAS A biz ITZ "OMG!"
VISIBLE food
VISIBLE biz
VISIBLE bird
KTHXBYE

Chương trình trên hiển thị phần khai báo của các biến và in ra chúng. Đầu ra là -

sh-
4.3$ lci main.lo
1
OMG!
5

Loại Đúc

Để chuyển đổi giá trị của một kiểu này sang kiểu khác, chúng ta sử dụng kiểu ép kiểu. Truyền một NUMBAR thành NUMBR cắt bớt phần thập phân của số dấu phẩy động. Truyền MỘT SỐ sang SỢI (ví dụ: bằng cách in nó), cắt bớt đầu ra thành 2 chữ số thập phân mặc định.

Thí dụ

HAI 1.2
I HAS A food ITZ "111.00033"
VISIBLE food

BTW this is how we do type casting
MAEK food A NUMBAR
VISIBLE food
KTHXBYE

Dòng mã trên sẽ tạo ra kết quả sau:

sh-4.3$ lci main.lo
111.00033
111.00033

Tất cả các biến được khai báo trong chương trình LOLCODE là biến cục bộ và không có phạm vi toàn cục trong ngôn ngữ này cho bất kỳ biến nào.