«switch-statement» etiketlenmiş sorular

Bilgisayar programlamasında, bir switch, case, select veya inspect ifadesi, değişken içeriğe dayalı olarak belirli kod bloklarını çağırmak için kullanılan bir seçim kontrol mekanizması türüdür.



10
Büyüktür / küçüktür için switch deyimi
bu yüzden böyle bir switch deyimi kullanmak istiyorum: switch (scrollLeft) { case (<1000): //do stuff break; case (>1000 && <2000): //do stuff break; } Şimdi bu ifadelerden herhangi birinin ( <1000) veya ( >1000 && <2000) işe yaramayacağını biliyorum (farklı nedenlerle, belli ki). Sorduğum şey, bunu yapmanın en etkili yoludur. …

18
Switch deyimi neden dizelere uygulanamıyor?
Aşağıdaki kodu derleme ve hatası var type illegal. int main() { // Compilation error - switch expression of type illegal switch(std::string("raj")) { case"sda": } } Ya dizeyi kullanamaz switchveya case. Neden? Dizeleri açmaya benzer mantığı desteklemek için iyi çalışan bir çözüm var mı?



8
Anahtar kasasında geçerli, ama değersiz sözdizimi?
Küçük bir yazım hatasıyla, bu yapıyı yanlışlıkla buldum: int main(void) { char foo = 'c'; switch(foo) { printf("Cant Touch This\n"); // This line is Unreachable case 'a': printf("A\n"); break; case 'b': printf("B\n"); break; case 'c': printf("C\n"); break; case 'd': printf("D\n"); break; } return 0; } İfadenin printfüst kısmındaki switchgeçerli, ama …

12
Null anahtarında nasıl kullanılır
Integer i = ... switch (i){ case null: doSomething0(); break; } Yukarıdaki kodda null anahtar durum ifadesinde kullanamazsınız. Bunu nasıl farklı şekilde yapabilirim? Kullanamıyorum defaultçünkü o zaman başka bir şey yapmak istiyorum.


7
JavaScript'te dize eşleşmesi için anahtar deyimi
Aşağıdaki koşul için nasıl bir anahtar yazabilirim? URL "foo" içeriyorsa , settings.base_url "bar" dır. Aşağıdakiler gereken efekti elde ediyor, ancak bunun bir anahtarda daha yönetilebilir olacağını hissediyorum: var doc_location = document.location.href; var url_strip = new RegExp("http:\/\/.*\/"); var base_url = url_strip.exec(doc_location) var base_url_string = base_url[0]; //BASE URL CASES // LOCAL if …

5
Geçmeli anahtar kutusu?
Bash (ideal olarak büyük / küçük harfe duyarlı olmayan) geçiş vakaları ile anahtar deyiminin doğru sözdizimini arıyorum. PHP ben programlamak istiyorum: switch($c) { case 1: do_this(); break; case 2: case 3: do_what_you_are_supposed_to_do(); break; default: do_nothing(); } Aynı şeyi Bash'de istiyorum: case "$C" in "1") do_this() ;; "2") "3") do_what_you_are_supposed_to_do() ;; …

10
Anahtar deyimi: varsayılan son durumda olmalı?
Aşağıdaki switchifadeyi düşünün : switch( value ) { case 1: return 1; default: value++; // fall-through case 2: return value * 2; } Bu kod derlenir, ancak C90 / C99 için geçerli mi (= tanımlı davranış)? Ben hiç varsayılan durumda son durumda değil kodu görmedim . DÜZENLEME: As Jon Cage …

23
İf-else deyimini değiştirmenin avantajı
Yaklaşık 10 tanesinin beklenen bir eylemi olduğu (şu anda aynı eylemdir) 30 numaralandırma için switchbir ififade kullanmak yerine ifade kullanmak için en iyi uygulama nedir unsigned? Performans ve alan dikkate alınmalıdır, ancak kritik değildir. Parçacığı soyutladım, bu yüzden adlandırma kuralları için benden nefret etmeyin. switch Beyan: // numError is an …

13
Objective-C NSString'i açabilir mi?
Bunu yeniden yazmanın daha akıllı bir yolu var mı? if ([cardName isEqualToString:@"Six"]) { [self setValue:6]; } else if ([cardName isEqualToString:@"Seven"]) { [self setValue:7]; } else if ([cardName isEqualToString:@"Eight"]) { [self setValue:8]; } else if ([cardName isEqualToString:@"Nine"]) { [self setValue:9]; }

8
Kontrol tek bir vaka etiketinden geçemez
Hangi arama metin kutusu mevcut bağlı olarak arama alanında arama terimi yazacak bir anahtar deyimi yazmaya çalışıyorum. Takip koduna sahibim. Ancak "Denetim bir vaka etiketinden düşemez" hatası alıyorum. switch (searchType) { case "SearchBooks": Selenium.Type("//*[@id='SearchBooks_TextInput']", searchText); Selenium.Click("//*[@id='SearchBooks_SearchBtn']"); case "SearchAuthors": Selenium.Type("//*[@id='SearchAuthors_TextInput']", searchText); Selenium.Click("//*[@id='SearchAuthors_SearchBtn']"); } Kontrol bir vaka etiketinden ( case "SearchBooks":) diğerine …

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.