Variables
Baro sida loo isticmaalo variables: door (dynamic), noocyada static (abn, jajab, qoraal, bool, teed, walax), iyo constants (madoor) ee Soplang.
Soplang Variables
Soplang variables waxaa lagu qeexaa erayo Somali-first ah oo ka tarjumaya doorka ama nooca. Tani waxay ka dhigtaa koodhka mid muujin leh oo u fudud barayaasha Af-Soomaaliga.
Dynamic Variables – door
door waa soo gaabinta doorsoome oo loo adeegsado doorsoomayaal dynamically typed.
dynamic_variables.sop
door magaca = "Aamina" door da = 19 door xaqiiqo = run
Doorsoome door ah wuxuu qaadan karaa qiime nooc kasta ah, xitaa marka dambe:
door x = 10 x = "hadda waa qoraal" // waa la oggol yahay qor(x)
Declare Once
Magac waxaa la qeexi karaa hal mar oo keliya — xitaa gudaha block (haddii, intay, …). Si aad qiimaha u beddesho, ha ku celin door; si toos ah u qor magac = qiime.
door a = 1 a = 2 // sax: beddelid door a = 3 // Khalad nooc: Magaca 'a' mar hore ayaa la qeexay [E020]
Static Variables
Doorsoomayaasha static waa kuwa si cad loo noocqeeyo (explicit types) si loo helo hufnaan iyo badbaado nooc (type safety).
| Type | Keyword | Stands for | Example |
|---|---|---|---|
| Integer | abn | abyoone | abn tirada = 10 |
| Float | jajab | jajab | jajab qiime = 3.14 |
| String | qoraal | qoraal | qoraal magaca = "Soplang" |
| Boolean | bool | bool | bool sax = run |
| List | teed | teed | teed liis = [1, 2, 3] |
| Object | walax | walax | walax qof = {magac: "Ali"} |
Type Checking
Doorsoome static ah wuxuu xafidaa noociisa. Haddii aad siiso qiime nooc kale ah — marka la qeexayo ama marka dambe — Soplang waxay soo saartaa khalad nooc (E022) ka hor inta aan barnaamijka la fulin.
abn tirada = 10 tirada = 20 // sax: weli waa abn tirada = "labaatan" // Khalad nooc: 'tirada' waa abn laakin qiimaheeda 'qoraal' ma ahan abn [E022]
Haddii aad rabto in doorsoome kasta uu yeesho nooc cad, isticmaal soplang --strict file.sop. Strict mode wuxuu diidaa door. Eeg CLI & REPL.
Constants – madoor
madoor (soo gaabinta madoorsoome) waxaa loo adeegsadaa qiyamka aan la beddeli karin (immutable).
constants_basic.sop
madoor magaca = "Soplang"
Constants lama u wareejin karo (reassign):
constants_reassign_error.sop
madoor luqad = "Somali" luqad = "English" // Khalad nooc: Ma bedeli kartid qiimaha doorsamaha madoor 'luqad' [E020]
madoor waxaa sidoo kale lagu dari karaa nooc static ah, si nooca qiimaha loo hubiyo:
constants_typed.sop
madoor abn SANAD = 2025 madoor PI = 3.14159 qor(SANAD)