Skip to main content

Data Types in Soplang

Soplang waxa uu leeyahay noocyo xog oo kala duwan si uu u metelo qiimeyaal kala geddisan. Boggan waxa uu daboolayaa noocyada aasaasiga ah (primitives) iyo ururinta (collections) iyo sida ugu habboon ee loo isticmaalo.

Primitive Types​

Kuwaani waa noocyada ugu aasaasiga ah ee dhisaya noocyada kale ee adag.


Numbers​

Soplang waxa uu taageeraa tirooyinka dhan iyo jajab. Waxa aad isticmaali kartaa door (dynamic) ama abn (static).

file-name.sop
// Dynamic typing door lambarka1 = 42 // Integer door lambarka2 = 3.14 // Floating-point // Static typing abn lambarka3 = 100 // Integer abn lambarka4 = -25 // Negative integer // Arithmetic qor(lambarka1 + lambarka2) // 45.14 qor(lambarka1 * lambarka3) // 4200 qor(lambarka3 / lambarka1) // 2.38...

Strings​

Strings waa taxane xarfo ah. Waxaad adeegsan kartaa q-double ama q-single, ka dibna ku shaqayn karaan habab kala duwan.

file-name.sop
// Dynamic typing door magac1 = "Soplang" door magac2 = 'Programming Language' // Static typing qoraal magac3 = "Soplang: Luuqadda Barnaamijyada ee Afka Soomaaliga" // Concatenation qor(magac1 + " - " + magac2) // Soplang - Programming Language // Dherer & habab qor(magac1.dherer()) // 7 qor(magac1.sareyn()) // SOPLANG qor(magac1.hooseyn()) // soplang qor(magac3.qayb(0, 7)) // Soplang // Interpolation (haddii ay taageerto f-strings) door version = 2.0 qor(f"{magac1} v{version}") // Soplang v2.0

Booleans​

Qiimayaasha run/been: run iyo been. Waxaad adeegsan kartaa door ama bool.

file-name.sop
// Dynamic typing door waa_sax = run door waa_qalad = been // Static typing bool waa_arday = run bool waa_macalin = been // Logical qor(waa_sax && waa_qalad) // false qor(waa_sax || waa_qalad) // true qor(!waa_sax) // false // Comparison door x = 10 door y = 20 qor(x > y) // false qor(x <= y) // true qor(x == 10) // true qor(x != y) // true

Collection Types​

Ururinta waxa ay kuu oggolaanayaan in aad isku kaydiso qiimeyaal badan.

Lists​

Liisaska waa ururin leh amar (ordered). Waad abuuri kartaa adigoo adeegsanaya teed (static) ama door oo leh [].

file-name.sop
// Abuurista liis door tiro = [1, 2, 3, 4, 5] teed magacyada = ["Cabdi", "Caasha", "Xasan", "Hodan"] teed isku_dhafan = [1, "Soplang", run, 3.14] // Helidda walxaha (zero-indexed) qor(tiro[0]) // 1 qor(magacyada[2]) // Xasan // Beddelid tiro[0] = 10 qor(tiro) // [10, 2, 3, 4, 5] // Hababka liisaska tiro.kudar(6) // ku dar dhamaadka qor(tiro) // [10, 2, 3, 4, 5, 6] magacyada.saar(1) // ka saar index 1 qor(magacyada) // ["Cabdi", "Xasan", "Hodan"] // Dherer qor(magacyada.dherer()) // 3

Objects (Dictionaries)​

Objects waa lammaane fure–qiime ah. Waxaad ku abuuri kartaa door adigoo adeegsanaya {} ama nooca static ee walax.

file-name.sop
// Abuurista objects door qof = { "magac": "Cabdilaahi", "da": 25, "waa_arday": run } walax luuqad = { "magac": "Soplang", "version": 2.0, "sanadka": 2023, "features": ["OOP", "Dynamic Typing", "Easy Syntax"] } // Helidda qiimeyaal qor(qof["magac"]) // Cabdilaahi qor(luuqad["version"]) // 2.0 // Dot-notation (haddii la taageero) qor(qof.magac) // Cabdilaahi qor(luuqad.features) // ["OOP", "Dynamic Typing", "Easy Syntax"] // Beddelid qof["da"] = 26 qof["degaan"] = "Muqdisho" qor(qof) // Hubi furaha qor("magac" ku dhex jira qof) // true qor("luuqad" ku dhex jira qof) // false // Habab qor(qof.fureyaasha()) // ["magac", "da", "waa_arday", "degaan"] qor(qof.qiimeyaasha()) // ["Cabdilaahi", 26, true, "Muqdisho"] qor(luuqad.dherer()) // 4