Lolcode - Pernyataan dan Kontrol Aliran

LOLCODE memungkinkan Anda untuk mengontrol aliran program melalui berbagai pernyataan. Bab ini menjelaskan berbagai jenis pernyataan yang tersedia di LOLCODE.

Pernyataan Ekspresi

Ekspresi tanpa penetapan apa pun, yaitu hanya memanggil operasi matematika atau fungsi apa pun, adalah pernyataan hukum di LOLCODE. Setelah ekspresi dievaluasi, nilai akhirnya ditempatkan di variabel sementara IT. Nilai TI tetap berada dalam lingkup lokal, dan tetap ada hingga saat berikutnya diganti dengan ekspresi.

Pernyataan Penugasan

Pernyataan tugas digunakan untuk menetapkan keluaran dari ekspresi apa pun ke variabel tertentu. Mereka umumnya berbentuk -

<any_variable> <assignment operator> <any expression>

Harap dicatat bahwa, Anda dapat menggunakan variabel dalam ekspresi, bahkan sebelum variabel tersebut ditetapkan.

Pernyataan bersyarat

Pernyataan If-Then

Pernyataan jika-maka adalah operasi yang sangat sederhana yang bekerja pada variabel TI. Ini mirip dengan pernyataan if – else dalam bahasa pemrograman lain seperti C dan Java.

Ada empat kata kunci untuk menerapkan pernyataan if – then.

  • O RLY?
  • YA RLY
  • TIDAK ADA WAI
  • OIC

Bentuk umumnya adalah -

<any_expression>
O RLY?
   YA RLY
      <code to execute if above condition is true>
   NO WAI
      <code to execute in this block>
OIC

Semua pernyataan di atas dapat ditulis dalam baris yang sama dipisahkan dengan koma seperti -

BOTH SAEM NAMES AN "Name", O RLY?
   YA RLY, VISIBLE "My name is ABCD"
   NO WAI, VISIBLE "Your name is ABCD"
 OIC

Saat menggunakan pernyataan if-then, MEBBE opsional <ekspresi apa pun> dapat digunakan antara blok YA RLY dan NO WAI.

Jika <sembarang ekspresi> setelah MEBBE adalah True (WIN), maka blok itu dijalankan. Sebaliknya, jika ekspresi itu salah, pemblokiran akan dilewati hingga pernyataan MEBBE, NO WAI, atau OIC berikutnya.

Contoh

<any expression>
O RLY?
   YA RLY
      <code to be executed if true>
   MEBBE <expression>
      <code to be executed mebbe is true>
   MEBBE <expression>
      <code to be executed mebbe is true>
   NO WAI
      <code to be executed if above are false>
OIC

Contoh

BOTH SAEM NAMES AN "NAME"
O RLY?
   YA RLY, VISIBLE "YOUR NAME IS ABCD"
   MEBBE BOTH SAEM ANIMAL AN "OUR NAME IS ABCD"
   VISIBLE "NO ABCD"
OIC

Pernyataan Kasus

Di LOLCODE, kata kunci 'WTF?' mirip dengan switch dalam banyak bahasa lain. Kata kunci WTF? mengambil IT sebagai nilai ekspresi untuk perbandingan. Untuk menggunakan WTF, blok perbandingan dibuka oleh OMG yang seharusnya berupa literal, dan bukan ekspresi.

Harap diingat bahwa setiap literal harus unik, serupa dengan kasus di bahasa lain.

Blok OMG harus diakhiri dengan pernyataan GTFO. Jika blok OMG tidak dihentikan oleh GTFO, blok OMG berikutnya dijalankan hingga GTFO tercapai.

Jika tidak ada literal yang dievaluasi sebagai benar, maka kasus default ditandai oleh OMGWTF.

WTF?
   OMG <any value to compare>
      <code block to execute if expression is satisfied>
   OMG <any value to compare>
      <code block to execute if expression is satisfied>
   OMGWTF
      <code block to execute as a default case>
OIC
NAME, WTF?
   OMG "A"
      VISIBLE "ABCD"
   GTFO
   OMG "E"
      VISIBLE "EFGH"
   GTFO
   OMGWTF
      VISIBLE "ZYXW"
   OIC

Hasil keluaran dari kode diatas akan menjadi -

"E":

EFGH