Lolcode - Chức năng

Các hàm rất hữu ích trong lập trình vì chúng giảm bớt thời gian và công sức cho việc viết lại mã. Một mã chức năng được viết tốt mang lại khả năng tái sử dụng cao. Chương này giải thích cho bạn cách viết và làm việc với các hàm trong LOLCODE.

Định nghĩa của một hàm

Hàm là một tập hợp các câu lệnh được thực hiện cùng một lúc bằng cách gọi hàm đó. Trong LOLCODE, định nghĩa của một hàm bắt đầu bằng từ khóa “HOW IZ I” và từ khóa đóng là “IF U SAY SO”.

Cú pháp để viết một hàm trong LOLCODE là−

HOW IZ I <function name> [YR <parameter/argument> [AN YR <other _arguments..> …]]
   <code block to execute / Set of statements to execute>
IF U SAY SO

Điểm quan trọng

Hãy xem xét các điểm quan trọng sau đây khi bạn định nghĩa một hàm LOLCODE:

  • Trong LOLCODE, hàm chỉ có thể chấp nhận một số đối số cố định nhất định làm đầu vào.

  • Các đối số hoặc tham số, là các định danh trở thành một biến cho hàm.

  • Các hàm trong LOLCODE không thể truy cập bất kỳ giá trị nào khác ngoài các giá trị được chuyển cho chúng dưới dạng đối số.

Trả về giá trị từ một hàm

Trả lại trong mã hóa có nghĩa là một cái gì đó được trả lại. Trong lập trình, một hàm có thể trả về một số giá trị cho chương trình khi quá trình thực thi của nó hoàn tất. Trong LOLCODE, các hàm trả về các giá trị khác nhau như được giải thích bên dưới:

  • FOUND YR <any_expression> trả về giá trị của biểu thức khi khối chức năng được thực thi hoàn toàn.

  • GTFO không trả về giá trị (NOOB), tương tự như return 0 bằng các ngôn ngữ lập trình khác như C và Java.

  • Nếu không tìm thấy câu lệnh trả lại nào khác, thì IF U SAY SO được thực thi và giá trị trong biến IT được trả về.

Chức năng gọi điện

Một hàm được định nghĩa trong phần thân của chương trình và sau đó được gọi để thực thi. Một hàm chấp nhận một số đối số nhất định được gọi như hình dưới đây:

I IZ <function_name> [YR <expression_One> [AN YR <expression_Two> 
   [AN YR <expression_Three> ...]]] MKAY

Trong khi gọi một hàm, biểu thức được hình thành bởi tên hàm, theo sau là số lượng đối số mà hàm sẽ chấp nhận. Các đối số này có thể là các biến đơn giản hoặc bất kỳ biểu thức nào. Nếu một hàm chấp nhận bất kỳ biểu thức nào thay vì một giá trị đơn giản, thì giá trị của biểu thức sẽ được tính trước khi hàm được gọi.

Hãy nhớ rằng số lượng đối số mà một hàm sẽ chấp nhận, phải được xác định trong định nghĩa của hàm.

Thí dụ

HAI

HOW DUZ I MAINUMBA
   I HAS A NUMBA
   GIMMEH NUMBA
   FOUND YR NUMBA
IF U SAY SO

VISIBLE MAINUMBA

KTHXBYE

Khi bạn chạy đoạn mã trên, nó sẽ yêu cầu một đầu vào và sau đó khi bạn gửi đầu vào, bạn sẽ thấy kết quả giống như vậy. Ví dụ, nếu chúng ta nhập 55, nó sẽ in ra 55.

Thí dụ

HAI 1.2
HOW IZ I MULTIPLY YR FIRSTOPERANT AN YR SECONDOPERANT
   FOUND YR PRODUKT OF FIRSTOPERANT AN SECONDOPERANT
   IF U SAY SO
   VISIBLE I IZ MULTIPLY YR 2 AN YR 3
KTHXBYE

Hàm trên thực hiện phép nhân các toán hạng đầu vào sẽ in ra kết quả sau khi bạn chạy nó−

sh-
4.3$ lci main.lo

6

Thí dụ

HAI 1.2
I HAS A STRINGARRAY ITZ A BUKKIT
   STRINGARRAY HAS A VAR17 ITZ "OBJECT1"
   STRINGARRAY HAS A VAR18 ITZ "OBJECT2"
   HOW IZ STRINGARRAY ACCESS YR VARIABLE
      FOUND YR STRINGARRAY'Z SRS VARIABLE
   IF U SAY SO
   I HAS A STRING ITZ "VAR17"
   VISIBLE STRINGARRAY IZ ACCESS YR STRING MKAY
KTHXBYE

Đầu ra mà đoạn mã trên sẽ tạo ra là:

sh-
4.3$ lci main.lo 
OBJECT1