R For Loop
Loops အတွက်
for
ကွင်းဆက်တစ်ခုကို အစီအစဥ်တစ်ခုအပေါ် ထပ်ကာထပ်ကာအတွက် အသုံးပြုသည် -
ဥပမာ
for (x in 1:10) {
print(x)
}
၎င်းသည် for
အခြားသော ပရိုဂရမ်းမင်းဘာသာစကားများတွင် သော့ချက်စကားလုံးနှင့် နည်းပါးပြီး အခြားအရာဝတ္ထု-ဆန်သော ပရိုဂရမ်းမင်းဘာသာစကားများတွင် တွေ့ရသည့်အတိုင်း iterator နည်းလမ်းနှင့် ပို၍အလုပ်လုပ်သည်။
ကွင်းဆက် ဖြင့် for
ကျွန်ုပ်တို့သည် vector၊ array၊ list စသည်ဖြင့် အကြောင်းအရာတစ်ခုစီအတွက် တစ်ကြိမ်စီတွင် ဖော်ပြချက်အစုတစ်ခုကို လုပ်ဆောင်နိုင်သည်။
နောက်ပိုင်းအခန်းတွင် စာရင်းများ နှင့် vectors စသည်တို့ အကြောင်း လေ့လာနိုင်မည်ဖြစ်သည် ။
ဥပမာ
ပစ္စည်းတိုင်းကို စာရင်းတစ်ခုတွင် ပရင့်ထုတ်ပါ။
fruits <- list("apple", "banana", "cherry")
for (x in fruits) {
print(x)
}
ဥပမာ
အန်စာတုံးအရေအတွက်ကို ပုံနှိပ်ပါ
dice <- c(1, 2, 3, 4, 5, 6)
for (x in dice) {
print(x)
}
Loop သည် loops for
ကဲ့သို့ ကြိုတင်သတ်မှတ်ရန် indexing variable မလိုအပ်ပါ ။while
ချိုး
ကြေငြာချက် ဖြင့် break
၊ ၎င်းသည် အရာအားလုံးကို လှည့်ပတ်ခြင်းမပြုမီ loop ကို ရပ်တန့်နိုင်သည်-
ဥပမာ
"ချယ်ရီ" တွင် ကြိုးဝိုင်းကို ရပ်လိုက်ပါ-
fruits <- list("apple", "banana", "cherry")
for (x in fruits) {
if (x == "cherry") {
break
}
print(x)
}
"cherry" ( ) နှင့် ညီမျှ break
သည့် ကြေညာချက်
ကို အသုံးပြု၍ ကွင်းဆက်ကို အပြီးသတ်ရန် ရွေးချယ်ထားသောကြောင့် ကွင်းဆက်သည် "cherry" တွင် ရပ်သွားပါမည် ။x
x ==
"cherry"
နောက်တစ်ခု
ကြေငြာချက် ဖြင့် next
၊ ကျွန်ုပ်တို့သည် ကွင်းဆက်ကို မပိတ်ဘဲ ထပ်ကာထပ်ကာ ကျော်သွားနိုင်ပါသည်။
ဥပမာ
"ငှက်ပျောသီး" ကိုကျော်ပါ
fruits <- list("apple", "banana", "cherry")
for (x in fruits) {
if (x == "banana") {
next
}
print(x)
}
ကွင်းဆက်က "ငှက်ပျောဖူး" ကို ကျော်သွားသောအခါ ၎င်းကို ကျော်သွားကာ ဆက်၍ကွင်းဆက်သွားမည်ဖြစ်သည်။
Yahtzee!
အကယ်၍.. Else သည် For Loop တစ်ခုနှင့် ပေါင်းစပ်ထားသည်။
လက်တွေ့နမူနာကို သရုပ်ပြရန် Yahtzee ဂိမ်းကို ကစားကြပါစို့။
ဥပမာ
"Yahtzee!" အန်စာတုံးနံပါတ် 6 ဖြစ်ပါက၊
dice <- 1:6
for(x in dice) {
if (x == 6) {
print(paste("The dice number is", x, "Yahtzee!"))
} else {
print(paste("The dice number is", x, "Not Yahtzee"))
}
}
ကွင်းဆက်သည် 1 မှ 5 အထိတန်ဖိုးများရောက်ရှိပါက၊ ၎င်းသည် "No Yahtzee" နှင့် ၎င်း၏နံပါတ်များကို ရိုက်နှိပ်သည်။ တန်ဖိုး 6 သို့ရောက်သောအခါ၊ ၎င်းသည် "Yahtzee!" ၎င်း၏နံပါတ်။
Nested ကွင်းများ
ကွင်းတစ်ခု၏အတွင်း၌ ကွင်းပတ်တစ်ခုလည်း ရှိနိုင်သည်-
ဥပမာ
စာရင်းတစ်ခုတွင်အသီးတစ်ခုစီ၏နာမဝိသေသနကိုပုံနှိပ်ပါ။
adj <- list("red", "big", "tasty")
fruits <- list("apple", "banana",
"cherry")
for (x in adj) {
for (y in fruits) {
print(paste(x, y))
}
}