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).
// 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.
// 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
.
// 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 []
.
// 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
.
// 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