Data Types
Noocyada xogta ee Soplang: primitives (abn, jajab, qoraal, bool), ururinta (teed, walax), null, iyo sida loo adeegsado.
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), 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 (abn) iyo jajab (jajab). Waxa aad isticmaali kartaa door (dynamic) ama abn/jajab (static). Faahfaahin dheeraad ah: Numbers.
numbers.sop
// Dynamic typing door lambarka1 = 42 // abn door lambarka2 = 3.14 // jajab // Static typing abn lambarka3 = 100 abn lambarka4 = -25 // Arithmetic qor(lambarka1 + lambarka2) // 45.14 qor(lambarka1 * lambarka3) // 4200 qor(lambarka3 / lambarka1) // 2.380952380952381
Strings
Strings (qoraal) waa taxane xarfo ah. Waxaad adeegsan kartaa xigasho labalaab ("...") ama mid keliya ('...'). Ma jiro string interpolation — isticmaal +. Faahfaahin dheeraad ah: Strings.
strings.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(dherer(magac1)) // 7 qor(magac1.xarafaha_weyn()) // SOPLANG qor(magac1.xarfaha_yaryar()) // soplang qor(magac3.jar(0, 7)) // Soplang qor(magac1[0]) // S // Tiro iyo qoraal isku dar door version = 2 qor(magac1 + " v" + version) // Soplang v2
Booleans
Qiimayaasha run/been: run (true) iyo been (false). Waxaad adeegsan kartaa door ama bool. Marka la daabaco, waxay u muuqdaan run iyo been.
booleans.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) // been qor(waa_sax || waa_qalad) // run qor(!waa_sax) // been // Comparison door x = 10 door y = 20 qor(x > y) // been qor(x <= y) // run qor(x == 10) // run qor(x != y) // run
Null
null waxay metelaysaa qiime la'aan. Marka la daabaco, ama nooc() lagu baaro, waxay u muuqataa maran. Hawl aan waxba soo celin waxay soo celisaa null.
null.sop
door natiijo = null qor(natiijo) // maran qor(nooc(natiijo)) // maran
Collection Types
Ururinta waxa ay kuu oggolaanayaan in aad isku kaydiso qiimeyaal badan.
Lists
Liisaska (teed) waa ururin leh amar (ordered). Waad abuuri kartaa adigoo adeegsanaya teed (static) ama door oo leh []. Faahfaahin dheeraad ah: Arrays.
lists.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 qor(magacyada[-1]) // Hodan (index taban: dhamaadka ka tiri) // 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] door ugu_dambeeyay = magacyada.kasaar() // ka saar kan ugu dambeeya qor(ugu_dambeeyay) // Hodan qor(magacyada) // [Cabdi, Caasha, Xasan] // Dherer qor(magacyada.dherer()) // 3 qor(dherer(isku_dhafan)) // 4
Objects
Objects (walax) waa lammaane fure–qiime ah. Waxaad ku abuuri kartaa door adigoo adeegsanaya {} ama nooca static ee walax. Faahfaahin dheeraad ah: Objects.
objects.sop
// Abuurista objects door qof = { magac: "Cabdilaahi", da: 25, waa_arday: run } walax luuqad = { magac: "Soplang", sanadka: 2023, features: ["OOP", "Dynamic Typing", "Easy Syntax"] } // Helidda qiimeyaal (dot-notation) qor(qof.magac) // Cabdilaahi qor(luuqad.features) // [OOP, Dynamic Typing, Easy Syntax] // Bracket-notation (fure qoraal ah) qor(qof["magac"]) // Cabdilaahi // Beddelid iyo ku darid qof.da = 26 qof.degaan = "Muqdisho" qor(qof) // {da: 26, degaan: Muqdisho, magac: Cabdilaahi, waa_arday: run} // Hubi furaha qor(qof.leeyahay("magac")) // run qor(qof.leeyahay("luuqad")) // been // Habab qor(qof.fure()) // [da, degaan, magac, waa_arday] qor(qof.qiime()) // [26, Muqdisho, Cabdilaahi, run] qor(dherer(luuqad)) // 3
Checking Types
Isticmaal nooc() si aad u ogaato nooca qiime kasta: abn, jajab, qoraal, bool, teed, walax, hawl, ama maran. Eeg Type Conversion.
Functions
Qeexid iyo isticmaal hawlaha (hawl) ee Soplang, wicitaan, celin qiime (celi), iyo loops gudaha hawl.
Strings in Soplang
Declare iyo ka shaqaynta xarfo (strings) ee Soplang: qoraal/door, indexing, iyo hababka sida qeybi, leeyahay, dhamaad, bilow, beddel, beddel_dhammaan, kudar, jar, xarafaha_weyn, xarfaha_yaryar, masax, raadi.