คำถามติดแท็ก conditional-operator

ตัวดำเนินการตามเงื่อนไขเป็นตัวดำเนินการด้านที่เป็นส่วนหนึ่งของไวยากรณ์สำหรับนิพจน์เงื่อนไขพื้นฐานในภาษาโปรแกรมต่างๆ มักเรียกกันทั่วไปว่าตัวดำเนินการ ternary หรือ inline if ภาษาที่แตกต่างกันมีไวยากรณ์ที่แตกต่างกันสำหรับโครงสร้างเดียวกัน แต่ทั้งหมดเลือกระหว่างหนึ่งในสองตัวเลือกตามเงื่อนไข



3
มีผู้ประกอบการที่ประกอบไปด้วยเงื่อนไขใน VB.NET หรือไม่?
ใน Perl (และภาษาอื่น ๆ ) ผู้ประกอบการที่มีเงื่อนไขสามารถแสดงได้ดังนี้: my $foo = $bar == $buz ? $cat : $dog; มีผู้ประกอบการที่คล้ายกันใน VB.NET หรือไม่?


7
ฉันจะใช้โอเปอเรเตอร์ที่มีเงื่อนไขได้อย่างไร (? :) ใน Ruby
ตัวดำเนินการตามเงื่อนไข ( ? :) ใช้งานใน Ruby อย่างไร เช่นนี้ถูกต้องหรือไม่ <% question = question.size > 20 ? question.question.slice(0, 20)+"..." : question.question %>

9
สำนวนที่เป็นไปได้ของผู้ประกอบการที่ประกอบไปด้วยไตรภาคของ C คืออะไร?
ใน C / C ++ (และหลายภาษาของตระกูลนั้น) สำนวนทั่วไปในการประกาศและเริ่มต้นตัวแปรขึ้นอยู่กับเงื่อนไขใช้ตัวดำเนินการเงื่อนไขแบบไตรภาค int index = val > 0 ? val : -val Go ไม่มีตัวดำเนินการตามเงื่อนไข เป็นวิธีสำนวนที่สุดในการใช้ชิ้นส่วนของรหัสเดียวกันข้างต้นคืออะไร? ฉันมาถึงวิธีแก้ปัญหาต่อไปนี้ แต่ดูเหมือนว่าค่อนข้างละเอียด var index int if val > 0 { index = val } else { index = -val } มีอะไรที่ดีกว่านี้ไหม?

8
ละเว้นนิพจน์ที่สองเมื่อใช้ชวเลข if-else
ฉันสามารถเขียนif elseชวเลขโดยไม่ต้องelse? var x=1; x==2 ? dosomething() : doNothingButContinueCode(); ฉันสังเกตเห็นว่าการnullทำงานอื่น (แต่ฉันไม่รู้ว่าเพราะอะไรหรือเป็นความคิดที่ดี) แก้ไข:พวกคุณบางคนรู้สึกงุนงงว่าทำไมฉันถึงต้องลองสิ่งนี้ มั่นใจได้ว่าหมดความอยากรู้ ฉันชอบล้อเล่นกับ JavaScript


13
เครื่องหมายคำถามและเครื่องหมายทวิภาค (?: ตัวดำเนินการประกอบไปด้วยสามส่วน) หมายถึงอะไรในวัตถุประสงค์ -c
บรรทัดโค้ดนี้มีความหมายว่าอย่างไร label.frame = (inPseudoEditMode) ? kLabelIndentedRect : kLabelRect; ?และ:สร้างความสับสนให้ฉัน

5
?: ตัวดำเนินการ (ตัวดำเนินการ 'Elvis') ใน PHP
ฉันเห็นสิ่งนี้วันนี้ในรหัส PHP บางส่วน: $items = $items ?: $this->_handle->result('next', $this->_result, $this); ฉันไม่คุ้นเคยกับ?:โอเปอร์เรเตอร์ที่ใช้ที่นี่ ดูเหมือนว่าผู้ประกอบการที่สาม แต่การแสดงออกในการประเมินว่าภาคที่เป็นจริงได้รับการละเว้น มันหมายความว่าอะไร?


10
ผู้ประกอบการ Ternary ช้ากว่าบล็อก if-else ถึงสองเท่า?
ผมอ่านทุกที่ว่าผู้ประกอบ ternary ควรจะเร็วกว่าหรืออย่างน้อยก็เหมือนกับเทียบเท่าif- elseบล็อก อย่างไรก็ตามฉันทำการทดสอบต่อไปนี้และพบว่าไม่ใช่กรณี: Random r = new Random(); int[] array = new int[20000000]; for(int i = 0; i < array.Length; i++) { array[i] = r.Next(int.MinValue, int.MaxValue); } Array.Sort(array); long value = 0; DateTime begin = DateTime.UtcNow; foreach (int i in array) { if (i > 0) { value …

13
ผู้ประกอบการที่สามใน PowerShell
จากสิ่งที่ฉันรู้ PowerShell ดูเหมือนจะไม่ได้มีการแสดงออกในตัวสำหรับผู้ประกอบการที่เรียกว่าประกอบไปด้วย ตัวอย่างเช่นในภาษา C ซึ่งรองรับผู้ประกอบการที่ประกอบไปด้วยสามคนฉันสามารถเขียนสิ่งที่ชอบ: <condition> ? <condition-is-true> : <condition-is-false>; หากสิ่งนั้นไม่มีอยู่จริงใน PowerShell สิ่งที่จะเป็นวิธีที่ดีที่สุด (เช่นง่ายต่อการอ่านและบำรุงรักษา) เพื่อให้ได้ผลลัพธ์เดียวกัน

3
ส่งคืนชนิดของ '?:' (ตัวดำเนินการแบบมีเงื่อนไข)
ทำไมคนแรกถึงกลับมาอ้างอิง? int x = 1; int y = 2; (x > y ? x : y) = 100; ในขณะที่สองไม่ได้? int x = 1; long y = 2; (x > y ? x : y) = 100; อันที่จริงที่สองไม่ได้รวบรวมเลย - "ไม่ lvalue ซ้ายของการมอบหมาย"

30
ที่ประกอบไปด้วยหรือไม่ที่จะไม่ประกอบไปด้วย? [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา ฉันเป็นผู้ให้การสนับสนุนผู้ประกอบการที่ประกอบไปด้วยส่วนตัว: ()? :; ฉันรู้ว่ามันมีที่อยู่ แต่ฉันได้เจอโปรแกรมเมอร์หลายคนที่ไม่เคยใช้งานมาก่อนและบางคนก็ใช้มันบ่อยเกินไป คุณรู้สึกยังไงกับเรื่องนี้? คุณเห็นโค้ดที่น่าสนใจอะไรที่ใช้มัน?

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.