ሉፕ
መግቢያ
የWave ቋንቋ ተመሳሳይ ኮድ ብዙ ጊዜ መተግበር ያለበትን ሁኔታዎች ለማስተናገድ የሉፕ መግለጫዎችን ይሰጣል። የሉፕ መግለጫዎች የተወሰኑ ሁኔታዎች ሲሟሉ ኮድ ማስፈጸሚያውን ለመቀጠል ወይም የተወሰኑ ጊዜያትን ደጋግመው ለማስፈጸም ያገለግላሉ።
ይህ ተመሳሳይ አመክንዮ ደጋግሞ መፃፍ ሳያስፈልግ ተደጋጋሚ ስራዎችን በአጭር እና ግልጽ በሆነ ኮድ እንዲገልጹ ያስችልዎታል። Wave ሁለቱንም በሁኔታ ላይ የተመሰረተ መደጋገም እና ቆጠራን መሰረት ያደረገ ድግግሞሽን ይደግፋል እንዲሁም በድግግሞሽ ጊዜ የአፈፃፀም ፍሰት ለመቆጣጠር ቁልፍ ቃላትን ይሰጣል።
ይህ ክፍል የ while እና for መግለጫዎችን እንዲሁም የ break እና continue ቁልፍ ቃላትን የመድገም ፍሰትን እንዴት መጠቀም እንደሚቻል ያብራራል።
መግለጫ ሳለ
የተሰጠው ሁኔታ አገላለጽ ወደ እውነት (while) እስከተገመገመ ድረስ የtrue መግለጫ የኮድ ብሎክን በተደጋጋሚ ይፈጽማል።
የሁኔታው አገላለጽ ሐሰት በሆነበት ቅጽበት (false)፣ ድግግሞሹ ወዲያውኑ ያበቃል።
ይህ ዘዴ የድግግሞሾቹ ቁጥር ግልጽ በማይሆንባቸው ሁኔታዎች ተስማሚ ነው እና አንድ የተወሰነ ሁኔታ እስኪሟላ ድረስ መደገም አለበት.
መሰረታዊ መዋቅር
በWave ውስጥ የአንድ ጊዜ መግለጫ መሰረታዊ መዋቅር የሚከተለው ነው-
while (condition) {
// ለመድገም ኮድ
}
ሁኔታዊ መግለጫው እንደ bool አይነት መገምገም አለበት።
አንድ ወይም ተጨማሪ መግለጫዎችን በኮድ ብሎክ ውስጥ በተጠማዘዘ ቅንፍ {} ውስጥ መፃፍ ይችላሉ።
ምሳሌ፡ ከ 0 እስከ 4 ያትሙ
var i :i32 = 0;
while (i < 5) {
println("እኔ {} ነኝ።", i);
i = i + 1;
}
በዚህ ምሳሌ፣ ተለዋዋጭ i ከ 5 ያነሰ ሲሆን ድግግሞሾች ይከናወናሉ።
በእያንዳንዱ ድግግሞሽ, የአሁኑን ዋጋ ያትማል እና የ i ዋጋን በ 1 ይጨምረዋል ስለዚህም ሁኔታው በመጨረሻ ሐሰት ይሆናል.
ለመግለጫ
የfor መግለጫ የድግግሞሽ ብዛት በአንጻራዊነት ግልጽ በሚሆንበት ጊዜ ለመጠቀም ተስማሚ የሆነ የ loop መግለጫ ነው።
የመነሻውን እሴት, ሁኔታዊ መግለጫን እና መግለጫን መጨመር/መቀነስ በአንድ ጊዜ በመግለጽ የድግግሞሹን ፍሰት በግልፅ መግለጽ ይችላሉ።
ለተደጋጋሚ ቁጥጥር አስፈላጊ የሆኑ ንጥረ ነገሮች በአንድ ቦታ ላይ ስለሚሰበሰቡ, በጨረፍታ የመድገም አወቃቀሩን ለመረዳት ቀላል የመሆን ጥቅም አለው.
መሰረታዊ መዋቅር
for (init; condition; step) {
// ለመድገም ኮድ
}
Wave's ለመጀመርያ ብዙ ቅጾችን ይደግፋል።
- ስውር የ
varአይነት ጅምር var/let mut/constየማወጅ አጀማመር- መደበኛ መግለጫዎችን ያስጀምሩ (ነባር ተለዋዋጮችን እንደገና ይጠቀሙ)
ምሳሌ 1፡ ስውር አይነት ጅምር
for (i :i32 = 1; i <= 5; i += 1) {
println("i = {}", i);
}
ምሳሌ 2፡ var/let mut ማስጀመር
for (var i: i32 = 0; i < 3; i += 1) {
println("var i = {}", i);
}
for (let mut j: i32 = 0; j < 3; j += 1) {
println("let mut j = {}", j);
}
ምሳሌ 3፡ በገለፃ ላይ የተመሰረተ ጅምር (ነባር ተለዋዋጮችን እንደገና መጠቀም)
var i: i32 = 99;
for (i = 3; i <= 5; i += 1) {
println("i = {}", i);
}
println("after loop: {}", i); // 6
ገላጭ ጅማሬዎች (var፣ let mut፣ i :i32 = ...) እንደ loop scope ተለዋዋጮች ይሰራሉ፣
በገለፃ ላይ የተመሰረተ አጀማመር (i = ...) የውጪውን ተለዋዋጭ እራሱን ያዘምናል።
የጎጆው ዑደት
ሉፕስ በሌሎች ቀለበቶች ውስጥ ሊፃፍ ይችላል ፣ እነሱም ጎጆዎች ተብለው ይጠራሉ ። ባለ ሁለት አቅጣጫዊ የውሂብ መዋቅርን ሲያቋርጡ ወይም የበርካታ ሁኔታዎች ጥምር ሂደትን ሲያካሂዱ የተከተቱ ቀለበቶች ጠቃሚ ናቸው።
ምሳሌ፡ መግለጫ እያለ ድርብ
var i :i32 = 0;
while (i < 3) {
var j :i32 = 0;
while (j < 2) {
println("i={}, j={}", i, j);
j = j + 1;
}
i = i + 1;
}
በዚህ ምሳሌ፣ የውጪው while መግለጫ በተፈፀመ ቁጥር ሁሉም የውስጣዊው while መግለጫዎች ይከናወናሉ።
ይህ የቅጹ ውህዶች (i፣ j) በቅደም ተከተል እንዲሰሩ ያስችላቸዋል።
መግለጫ መስበር
የbreak መግለጫው ወዲያውኑ ዑደቱን ያቋርጣል እና ፍሰቱን ከሉፕ ያንቀሳቅሰዋል።
ተጨማሪ ድግግሞሾችን ማከናወን በማይኖርበት ጊዜ በድግግሞሽ ጊዜ ጥቅም ላይ ይውላል።
ምሳሌ፡ በተወሰነ እሴት መደጋገምን ጨርስ
var i :i32 = 0;
while (true) {
if (i == 5) {
break;
}
println(i);
i = i + 1;
}
በዚህ ምሳሌ፣ i 5 በሆነ ጊዜ ገደብ በሌለው loop ውስጥ፣ break ተፈፀመ እና መደጋገሙ ያበቃል።
ልክ እንደዚህ፣ የbreak መግለጫው ከድግግሞሽ ሁኔታው በተለየ ሁኔታ መደጋገምን ለመቆጣጠር ሲፈልጉ ጠቃሚ ነው።
