Skip to main content

ሉፕ

መግቢያ

የ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

ገላጭ ጅማሬዎች (varlet muti :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 መግለጫዎች ይከናወናሉ። ይህ የቅጹ ውህዶች (ij) በቅደም ተከተል እንዲሰሩ ያስችላቸዋል።


መግለጫ መስበር

break መግለጫው ወዲያውኑ ዑደቱን ያቋርጣል እና ፍሰቱን ከሉፕ ያንቀሳቅሰዋል። ተጨማሪ ድግግሞሾችን ማከናወን በማይኖርበት ጊዜ በድግግሞሽ ጊዜ ጥቅም ላይ ይውላል።

ምሳሌ፡ በተወሰነ እሴት መደጋገምን ጨርስ

var i :i32 = 0;

while (true) {
if (i == 5) {
break;
}

println(i);
i = i + 1;
}

በዚህ ምሳሌ፣ i 5 በሆነ ጊዜ ገደብ በሌለው loop ውስጥ፣ break ተፈፀመ እና መደጋገሙ ያበቃል። ልክ እንደዚህ፣ የbreak መግለጫው ከድግግሞሽ ሁኔታው በተለየ ሁኔታ መደጋገምን ለመቆጣጠር ሲፈልጉ ጠቃሚ ነው።


መግለጫውን ቀጥል

continue መግለጫው አሁን ባለው መደጋገም የቀረውን ኮድ ይዘላል እና ወዲያውኑ የሚቀጥለውን ድግግሞሽ ይጀምራል። ይህ በተወሰኑ ሁኔታዎች ውስጥ አንዳንድ አመክንዮዎችን ለመተው ሲፈልጉ ጥቅም ላይ ይውላል.

ምሳሌ፡ ቁጥሮችን እንኳን ያትሙ

for (var i: i32 = 0; i <= 10; i = i + 1) {
if (i % 2 == 1) {
continue;
}

println(i);
}

በዚህ ኮድ ውስጥ i ያልተለመደ ቁጥር ከሆነ continue የውጤት ክፍሉን በመዝለል ይፈጸማል። በውጤቱም, ዋጋዎች እንኳን ብቻ ይወጣሉ.


ማጠቃለያ

የWave loop በተፈጥሮ ሁኔታ ሁለቱንም በሁኔታ ላይ የተመሰረተ እና በቁጥር ላይ የተመሰረተ ድግግሞሽን ለመግለጽ የተነደፈ ነው። የwhile መግለጫ በሁኔታ ላይ ለተመሰረተ ተደጋጋሚነት ተስማሚ ነው፣ እና የfor መግለጫው የድግግሞሽ ብዛት እና ፍሰቱ ግልጽ በሚሆንበት ጊዜ ጠቃሚ ነው።

break እና continueን አንድ ላይ በመጠቀም፣በተደጋጋሚ ጊዜም ቢሆን የማስፈጸሚያ ፍሰቱን በደንብ መቆጣጠር ይችላሉ። የበለጠ የተራቀቀ እና ተለዋዋጭ የመደጋገም አመክንዮ መገንባት ይችላሉ።