সুইফট কেস মাধ্যমে পড়া


146

দ্রুত বিবৃতিতে পড়েছে? উদাহরণস্বরূপ যদি আমি নিম্নলিখিতটি করি

var testVar = "hello"
var result = 0

switch(testVal)
{
case "one":
    result = 1
case "two":
    result = 1
default:
    result = 3
}

"এক" এবং কেস "দুই" কেসের জন্য একই কোডটি কার্যকর করা সম্ভব?

উত্তর:


367

হ্যাঁ. আপনি নিম্নলিখিত হিসাবে এটি করতে পারেন:

var testVal = "hello"
var result = 0

switch testVal {
case "one", "two":
    result = 1
default:
    result = 3
}

বিকল্পভাবে, আপনি fallthroughকীওয়ার্ডটি ব্যবহার করতে পারেন :

var testVal = "hello"
var result = 0

switch testVal {
case "one":
    fallthrough
case "two":
    result = 1
default:
    result = 3
}

29
কেবল উল্লেখ না করার জন্য +1 fallthrough, তবে মাল্টি-কেস ব্যবহার করার পরামর্শ দিচ্ছেন
থিলো

3
এটি সি এর পতনের ঝুঁকির মধ্য দিয়ে একটি ভাল সমঝোতা এবং উদাহরণস্বরূপ, সি অভাবের মধ্যে
আলেকজান্ডার - মোনিকা

কেউ কি জানেন যে কীভাবে একটি কেস থেকে ডিফল্ট হয়ে যেতে হয়? কেস "দুই", ডিফল্ট: সংকলন করবে না।
জ্যাক মরিস

2
কিছু মনে করো না. আমি বুঝতে পেরেছি যে কেস মন্তব্য করা এটিকে ডিফল্ট মামলার সেটগুলির একটি অংশ করে তোলে, তাই: / * কেস "দুই", * / ডিফল্ট: আমি খুঁজছি এমন প্রভাব ফেলে।
জ্যাক মরিস

1
@ আলেকজান্ডার মমচলিভ সি # এর স্পষ্টভাবে পতন হয়েছে
ইয়ান নিউজন

8
var testVar = "hello"

switch(testVar) {

case "hello":

    println("hello match number 1")

    fallthrough

case "two":

    println("two in not hello however the above fallthrough automatically always picks the     case following whether there is a match or not! To me this is wrong")

default:

    println("Default")
}

আপনি কি ডিফল্ট ক্ষেত্রে পড়ার কোনও উপায় জানেন?
মারকামেমস

5
আমি "কেস টু" এর সাথে একমত আমার জন্য এই আচরণটি সফল হয়। কেন সুইফট পরবর্তী মামলা কার্যকর করে এমনকি এটি সত্য নয়? এটি স্যুইচ স্টেটমেন্টটিকে পুরোপুরি অকেজো করে তোলে ...
আন্দ্রেয়াস উটজিংগার

7
case "one", "two":
    result = 1

কোনও বিরতির বিবৃতি নেই, তবে কেসগুলি অনেক বেশি নমনীয়।

সংযোজন: অ্যানালগ ফাইলটি নির্দেশ করে, সুইফটে আসলে breakবক্তব্য রয়েছে। এগুলি লুপগুলিতে ব্যবহারের জন্য উপলব্ধ, যদিও switchবিবৃতিতে অপ্রয়োজনীয় , যদি না খালি ক্ষেত্রে অনুমোদিত না হয় তবে আপনার অন্যথায় খালি মামলা পূরণ করার প্রয়োজন নেই। উদাহরণস্বরূপ: default: break


6

আপনার বোঝার জন্য সহজ উদাহরণ এখানে:

let value = 0

switch value
{
case 0:
    print(0) // print 0
    fallthrough
case 1:
    print(1) // print 1
case 2:
    print(2) // Doesn't print
default:
    print("default")
}

উপসংহার: fallthroughপরের কেস কার্যকর করতে ব্যবহার করুন (কেবলমাত্র একটি) যখন আগেরটির fallthroughসাথে মিল থাকে বা না হয়।


2

fallthroughকোনও মামলার শেষে কীওয়ার্ডটি আপনার সন্ধানের পতনের মাধ্যমে ঘটে এবং একক ক্ষেত্রে একাধিক মান পরীক্ষা করা যায়।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.