Ka Qeybqaado SoplangContribution guidelines

Soplang Keywords Reference

Dukumeentigani waxa uu soo koobayaa ereyada (keywords) ee Soplang, macnahooda, u dhigmaha Ingiriisiga, iyo tusaalooyin isticmaal.

Variable Declaration Keywords

KeywordMeaningEnglish EquivalentExample
doorDynamic variable declarationvar/letdoor magac = "Sharafdin"
madoorConstant variable declarationconstmadoor PI = 3.14159
abnInteger typeintabn da = 25
jajabDecimal/float typefloat/doublejajab qiimo = 3.14
qoraalString typestringqoraal magac = "Sharafdin"
boolBoolean typeboolbool waaRun = run
walaxObject typeobjectwalax person = { name: "Sharafdin" }
teedList/array typearrayteed numbers = [1, 2, 3]
maranNull valuenulldoor a = maran

Control Flow Keywords

KeywordMeaningEnglish EquivalentExample
haddiiIf statementifhaddii (x > 10) { qor("Weyn") }
haddii_kaleElse if statementelse ifhaddii_kale (x == 10) { qor("Dhexe") }
ugudambeynElse statementelseugudambeyn { qor("Yar") }
dooroSwitch statementswitchdooro (x) { xaalad 1 { qor("Hal") } }
xaaladCase clausecasexaalad "A" { qor("Case A") }
kuceliFor loopforkuceli (i 1 ilaa 5) { qor(i) }
ilaaLoop range endtokuceli (i 1 ilaa 5) { qor(i) }
::Loop incrementstepkuceli (i 1 ilaa 10 :: 2) { qor(i) }
intayWhile loopwhileintay (x < 5) { qor(x) }
joojiBreak statementbreakhaddii (x == 3) { jooji }
socoContinue statementcontinuehaddii (x == 3) { soco }

Function Keywords

KeywordMeaningEnglish EquivalentExample
hawlFunction declarationfunctionhawl isuGee(a, b) { celi a + b }
celiReturn statementreturnceli x * 2

Special Values

Somali ValueEnglish EquivalentDescriptionExample
runtrueBoolean true valuehaddii (run) { ... }
beenfalseBoolean false valuehaddii (!been) { ... }
marannullEmpty/null valuedoor val = maran

Operators

Somali OperatorEnglish EquivalentDescriptionExample
++Additionx = a + b
--Subtractionx = a - b
**Multiplicationx = a * b
//Divisionx = a / b
%%Modulox = a % b
====Equal tohaddii (a == b) {...}
!=!=Not equal tohaddii (a != b) {...}
>>Greater thanhaddii (a > b) {...}
<<Less thanhaddii (a < b) {...}
>=>=Greater than or equal tohaddii (a >= b) {...}
<=<=Less than or equal tohaddii (a <= b) {...}
&&&&Logical ANDhaddii (a && b) {...}
||||Logical ORhaddii (a || b) {...}
!!Logical NOThaddii (!a) {...}

Quick Examples

keywords_quick_examples.sop
// Variables
door magac = "Sharafdin"
madoor PI = 3.14159
abn da = 25
jajab qiimo = 3.14
qoraal qora = "Salaan"
bool sax = run
teed numbers = [1, 2, 3]
walax qof = { magac: "Ayaan" }
door wax = maran

// Control flow
haddii (da >= 18) { qor("Qof weyn") } ugudambeyn { qor("Ilmo") }

dooro (qora) {
  xaalad "Salaan" { qor("Hello!") }
  ugudambeyn { qor("Unknown") }
}

kuceli (i 1 ilaa 5 :: 2) { qor(i) }
abn x = 1
intay (x < 3) { qor(x); x = x + 1 }

// Functions
hawl isuGee(a, b) { celi a + b }
qor(isuGee(2, 3))