Lolcode - Jenis

LOLCODE dirancang untuk menguji batas-batas desain bahasa pemrograman. Ini adalah bahasa pemrograman esoterik yang terinspirasi oleh hal-hal lucu di Internet. Bab ini memberi Anda pemahaman tentang jenis LOLCODE.

Jenis

Saat ini, jenis variabel di LOLCODE adalah -

  • string (BENANG)
  • bilangan bulat (NUMBR)
  • mengapung (NUMBAR)
  • dan boolean (TROOF)
  • Array (BUKKIT)

Dalam LOLCODE tipe variabel ditangani secara dinamis oleh kompilator. Jika variabel tidak memiliki nilai awal, itu disebut untyped (dikenal sebagai NOOB di LOLCODE).

Sintaks untuk mendeklarasikan dan menggunakan tipe yang berbeda di LOLCODE ditunjukkan di bawah ini -

Untuk membuat variabel dari tipe data apa pun

I HAS A <VARIABLE> ITZ A <DATA TYPE>

Untuk membuat variabel dan memberikan nilai padanya

I HAS A <VARIABLE> ITZ <EXPRESSION<

Untuk menetapkan nilai ke tipe data yang sudah dibuat

<VARIABLE> R <EXPRESSION>

Tidak diketik (NOOB)

Tipe data tak berjenis (dikenal sebagai NOOB), tidak dapat diubah menjadi tipe lain kecuali menjadi tipe data TROOF. Pengecoran implisit dari NOOB ke TROOF membuat variabel GAGAL. Setelah itu semua operasi pada NOOB menghasilkan kesalahan.

Pemeran eksplisit dari tipe data NOOB (yaitu tipe yang tidak diinisialisasi dan tidak memiliki nilai awal) hasil variabel ke nilai nol untuk semua tipe lainnya.

Untuk mendefinisikan variabel yang tidak diketik, cukup nyatakan variabel dan tetapkan nilai seperti yang ditunjukkan dalam contoh ini -

HAI 1.2
I HAS A VAR3
VAR3 R "ANYVALUE"
VISIBLE VAR3

BTW Or declare in same line
I HAS A VAR4 ITZ 44
VISIBLE VAR4
KTHXBYE

Ketika Anda menjalankan program di atas, Anda akan menemukan hasil sebagai berikut -

sh-
4.3$ lci main.lo 
ANYVALUE
44

Boolean (TROOFS)

Dalam LOLCODE, nilai Boolean terdiri dari dua jenis. BOOLEAN umumnya memiliki dua nilai - benar dan salah. Tapi, di LOLCODE, Boolean dikenal sebagai TROOF, dan nilai benar / salah masing-masing dikenal sebagai WIN / FAIL. Semua nilai yang tidak diinisialisasi seperti string kosong (""), atau array kosong semuanya akan dikirim ke FAIL. Semua nilai inisialisasi lainnya dievaluasi menjadi WIN.

Contoh

HAI 1.2
I HAS A VAR3 ITZ A TROOF
VAR3 R "FAIL"
   VISIBLE VAR3
KTHXBYE

Anda dapat melihat output berikut ketika Anda menjalankan kode di atas -

sh-4.3$ lci main.lo
FAIL

Jenis Numerik (NUMBR)

Dalam LOLCODE, NUMBR adalah singkatan dari integer. Setiap urutan angka dianggap sebagai NUMBR, kecuali jika memiliki desimal yang muncul di mana saja di antara urutan tersebut. Untuk membuat bilangan negatif, ini dapat diawali dengan tanda hubung (-) yang menandakan bilangan negatif.

Contoh

HAI 1.2
I HAS A VAR3 ITZ A NUMBR
   VISIBLE VAR3
KTHXBYE

Kode di atas menunjukkan kepada Anda hasil berikut ketika Anda menjalankannya-

sh- 
4.3$ lci main.lo
0

Mirip dengan NUMBR, LOLCODE memiliki tipe data lain, yang mewakili desimal atau pelampung dalam banyak bahasa pemrograman. Dalam LOLCODE, NUMBAR adalah pelampung yang berisi satu koma desimal. Mentransmisikan NUMBAR ke NUMBR memotong bagian desimal dari angka floating point dan mengembalikannya sebagai NUMBR, tanpa desimal.

String (BENANG)

Dalam LOLCODE, nilai yang mengandung string, yaitu string literal (YARN) harus dimulai dan diakhiri dengan tanda kutip ganda ("”).

Apa pun dapat ditulis di dalam string, seperti spasi, koma, tanda titik, tanda seru, atau simbol lainnya. String yang tidak memiliki kutipan tunggal dapat menyebabkan kesalahan. Titik dua digunakan sebagai karakter pelarian di LOLCODE, dan nilai apa pun setelah titik dua mendapat arti khusus.

  • :) - Tanda kurung tutup setelah titik dua mewakili baris baru (\ n)

  • :> - Tanda kurung sudut penutup setelah titik dua mewakili tab (\ t)

  • :o - A ‘o’ karakter setelah titik dua mewakili bel (bip) (\ g)

  • :" - Sebuah “setelah titik dua mewakili kutipan ganda literal (")

  • :: - Titik dua setelah titik dua mewakili satu titik dua literal (:)

Contoh

HAI 1.2
I HAS A VAR3 ITZ A YARN
VAR3 R "XYZ"
   VISIBLE VAR3
KTHXBYE

Kode yang diberikan di atas menghasilkan keluaran berikut saat eksekusi -

sh-
4.3$ lci main.lo 
XYZ

BUKKIT

Tipe ini mewakili sebuah array. Ini memiliki slot bernama, yang dapat berisi variabel atau fungsi. BUKKIT dapat dideklarasikan dengan cara berikut -

BTW declaration of the BUKKIT
I HAS A [object] ITZ A BUKKIT BTW creating a variable in a slots
[object] HAS A [var] ITZ [value] BTW creating a function inside the BUKKIT

HOW IZ [object] [function name] (YR [argument1] (AN YR [argument2] (AN YR [argument3] ...)))
[function code]
IF U SAY SO

Sebuah fungsi di dalam BUKKIT juga dapat mengakses variabel dan fungsi lain dari BUKKIT dengan menggunakan ME'Z [var] atau ME IZ [nama fungsi] (YR [argument1] (AN YR [argument2] (AN YR [argument3] ... ))) MKAY.

Contoh

HAI 1.2
   I HAS A VAR6 ITZ A BUKKIT
   BTW DECLARING AN ARRAY
   VAR6 HAS A VAR7 ITZ "DOGE"
   
   BTW VAR7 IS A STRING VARIABLE THAT IS INSERTED  INTO ARRAY VAR6
   VISIBLE VAR6'Z VAR7
   BTW GET THE ELEMENT OF ARRAY
KTHXBYE

Ini adalah keluaran yang akan Anda temukan ketika Anda menjalankan kode yang diberikan di atas -

sh-
4.3$ lci main.lo 
DOGE