Lolcode - Operatörler
Operatörler, değişkenler üzerinde çeşitli işlemler gerçekleştirmek için önemli bir rol oynar. Bu bölüm size LOLCODE'daki çeşitli operatörleri ve kullanımlarını sunar.
Operatörler
Matematiksel operatörler bir önek gösterimine, yani işlenenden önce gelen gösterime bağlıdır. Tüm işleçlerin bilinen sayıda bağımsız değişkeni veya işlenenleri olduğunda, gruplandırma işaretçilerine gerek yoktur. Operatörlerin sabit argümanları veya işlenenleri olmadığı durumlarda işlem MKAY ile kapatılır.
İfadenin sonuna denk gelmesi halinde MKAY kullanılmayabilir. Bu gibi durumlarda, EOL anahtar sözcüğü kullanılmalıdır. Tekli matematiksel operatörleri kullanmak için aşağıdaki sözdizimini kullanın -
<operator> <expression>
AN anahtar sözcüğü isteğe bağlı olarak bağımsız değişkenleri ayırmak ve birden fazla işlenen üzerinde tek bir işlem uygulamak için kullanılabilir, böylece bir ikili operatör ifadesi aşağıdaki sözdizimine sahiptir -
<operator> <expression1> AN <expression2>
Sonsuz sayıda bağımsız değişkene sahip bir operatör içeren herhangi bir ifade aşağıdaki sözdizimi ile ifade edilebilir:
<operator> <expression1> [[AN <expression2>] AN <expression3> ...] MKAY
Matematik
LOLCODE'daki temel matematiksel işlemler aşağıdadır -
SUM OF <a> AN <b> BTW This is a plus + operator
DIFF OF <a> AN <n> BTW This is a minus - operator
PRODUKT OF <a> AN <n> BTW This is a multiply operator *
QUOSHUNT OF <a> AN <n> BTW This is a divide operator
MOD OF <a> AN <n> BTW This is a modulo operator
BIGGR OF <a> AN <n> BTW This is a max operator
SMALLR OF <a> AN <n> BTW This is a min operator
<a> ve <b> 'nin her biri yukarıdaki benzersiz ifadeler olabilir, bu nedenle matematiksel operatörler sonsuza kadar yuvalanabilir ve gruplanabilir.
Matematik, bağımsız değişkenler iki NUMBR varlığında tamsayı matematik olarak dikkate alınarak gerçekleştirilir, ancak ifadelerden biri NUMBAR ise, işlemler kayan noktalı işlemler olarak kabul edilir.
Misal
HAI 1.2
I HAS A m ITZ 4
I HAS A n ITZ 2
VISIBLE SUM OF m AN n BTW +
VISIBLE DIFF OF m AN n BTW -
VISIBLE PRODUKT OF m AN n BTW *
VISIBLE QUOSHUNT OF m AN n BTW /
VISIBLE MOD OF m AN n BTW modulo
VISIBLE BIGGR OF m AN n BTW max
VISIBLE SMALLR OF m AN n BTW min
KTHXBYE
Yukarıdaki kod çalıştırdığınızda aşağıdaki çıktıyı üretecektir -
sh-
4.3$ lci main.lo
6
2
8
2
0
4
2
Önemli Noktalar -
LOLCODE'da matematiksel operatörlerle çalışmakla ilgili aşağıdaki önemli noktaları göz önünde bulundurun−
Bir ifadedeki bağımsız değişkenlerden biri veya her ikisi de YARN ise, bunlar NUMBAR olarak kabul edilir.
Bağımsız değişkenlerden herhangi biri dahili olarak sayısal bir türe güvenli bir şekilde dönüştürülemezse, bir hata vererek başarısız olur
Boole
Boolean operatörleri, doğru veya yanlış olabilecek değerlere uygulanır. TROOF'larda çalışan Boole operatörleri aşağıdaki gibidir -
BOTH OF <m> AN <n> BTW its and operation: WIN if m = WIN and n = WIN
EITHER OF <m> AN <n> BTW its or operation: FAIL iff m = FAIL, n = FAIL
WON OF <m> AN <n> BTW its xor operation: FAIL if m = n
NOT <m> BTW its an unary negation: WIN if m = FAIL
ALL OF <m> AN <n> ... MKAY BTW it will take infinite arguments and apply AND
ANY OF <m> AN <n> ... MKAY BTW it will take infinite arguments and apply OR.
Lütfen yukarıdaki ifade sözdizimindeki <m> ve <n> değerlerinin, zaten TROOF Değerleri değilse, TROOF değerleri olarak otomatik olarak dönüştürüldüğünü unutmayın.
Karşılaştırma
LOLCODE'da iki veya daha fazla işlenen karşılaştırmak istediğinizde, bunu aşağıdaki yöntemlerden herhangi birinde yapabilirsiniz -
Yöntem 1
Eşitlik operatörlerini kullanarak iki ikili işleneni karşılaştırabilirsiniz. Sözdizimi aşağıda gösterilmiştir -
BOTH SAEM <m> AN <n> BTW this will return WIN if m is equal to n
DIFFRINT <m> AN <n> BTW this will return WIN if m is not equal to n
Yöntem 2
Her iki değer de NUMBR türünde olup olmadığını karşılaştırabilirsiniz. Değerlerden biri NUMBAR ise, kayan nokta değerleri olarak karşılaştırıldıklarını unutmayın.
Yöntem 3
Minimum ve maksimum operatörleri kullanarak da karşılaştırma yapabilirsiniz. Sözdizimi aşağıda gösterilmiştir -
BOTH SAEM <m> AN BIGGR OF <m> AN <n>
BOTH SAEM <m> AN SMALLR OF <m> AN <n>
DIFFRINT <m> AN SMALLR OF <m> AN <n>
DIFFRINT <m> AN BIGGR OF <m> AN <n>
Example
HAI 1.2
I HAS A VAR11 ITZ 7
BOTH SAEM VAR11 SMALLR OF VAR11 AN 8, O RLY?
YA RLY
VISIBLE "TRUE"
NO WAI
VISIBLE "FALSE"
OIC
KTHXBYE
Verilen kodu çalıştırdığınızda aşağıdaki çıktıyı görebilirsiniz -
sh-
4.3$ lci main.lo
TRUE
Değerlerin Birleştirilmesi
LOLCODE, SMOOSH… MKAY işlecini kullanarak sonsuz sayıda İPLİK'i açıkça birleştirmenize olanak sağlar. Birleştirme için birden fazla argüman,AN Şebeke.
Misal
HAI 1.2
I HAS A VAR1 ITZ A YARN
VAR1 R "TRUE"
I HAS A VAR2 ITZ A YARN
VAR2 R "ANOTHER TRUE"
I HAS A VAR3 ITZ A YARN
VAR3 R "ONE MORE TRUE"
VISIBLE SMOOSH VAR1 " " VAR3 " " VAR2 MKAY
KTHXBYE
Yukarıda verilen kod, çalıştırıldığında aşağıdaki sonucu verecektir -
sh-
4.3$ lci main.lo
TRUE ONE MORE TRUE ANOTHER TRUE
Tipi Döküm
Belirli türler üzerinde çalışan işleçler, bir türün değerlerini güvenli bir şekilde başka bir türe dönüştürür veya dönüştürür. Değer güvenli bir şekilde başka bir türe dönüştürülemezse, bir hatayla sonuçlanır.
Bir ifadenin değeri açıkça dönüştürülebilir veya ikili MAEK operatörü ile başka bir türe dönüştürülebilir. MAEK Operatörünün sözdizimi -
MAEK <expression> A <type>
burada, <tür> TROOF, YARN, NUMBR, NUMBAR veya NOOB olabilir.
Bir değişkeni başka bir türe açıkça çevirmek için, MAEK operatörü ile normal bir atama ifadesi kullanılabilir veya aşağıdaki gibi bir çevrim atama ifadesi kullanılabilir -
<Any_variable> IS NOW A <type> BTW this code will be equal to
<Any_variable> R MAEK <variable> A <type>
Misal
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
Yukarıdaki kod aşağıdaki çıktıyı üretecektir−
sh-4.3$ lci main.lo
111.00033
111.00033