Kotlin মত, খুব সুন্দর iterating ফাংশন আছে forEachবা repeat, কিন্তু আমি করতে সক্ষম নই breakএবং continueঅপারেটরদের তাদের সঙ্গে কাজ (উভয় স্থানীয় এবং অ-স্থানীয়):
repeat(5) {
break
}
(1..5).forEach {
continue@forEach
}
লক্ষ্যটি হ'ল ফাংশনাল সিনট্যাক্সের সাথে যতটা সম্ভব সম্ভবত লুপগুলি অনুকরণ করা। কোটলিনের কিছু পুরানো সংস্করণে এটি অবশ্যই সম্ভব ছিল, তবে বাক্য গঠনটি পুনরুত্পাদন করার জন্য আমি লড়াই করছি।
সমস্যাটি লেবেল (এম 12) সহ একটি বাগ হতে পারে, তবে আমি মনে করি যে প্রথম উদাহরণটি যাইহোক কাজ করা উচিত।
আমার কাছে মনে হয় যে আমি একটি বিশেষ কৌশল / টীকা সম্পর্কে কোথাও পড়েছি তবে আমি এই বিষয়ে কোনও রেফারেন্স পাইনি। নীচের মত চেহারা হতে পারে:
public inline fun repeat(times: Int, @loop body: (Int) -> Unit) {
for (index in 0..times - 1) {
body(index)
}
}
breakএবং continueকার্মিক loops জন্য, অথবা আপনি বিকল্প উত্তরগুলি ঠিক একই জিনিস করে কামনা কর। প্রাক্তনটি কেস হিসাবে উপস্থিত বলে মনে হচ্ছে, কারণ আপনি পরেটিকে প্রত্যাখ্যান করেছেন।
continue@labelএবংbreak@labelবৈশিষ্ট্যের জন্য অপেক্ষা করার সময় ), সম্পর্কিত প্রশ্নটি দেখুন: স্ট্যাকওভারফ্লো