คำถามติดแท็ก operators

ผู้ประกอบการเป็นสัญลักษณ์ที่เกิดขึ้นในเกือบทุกภาษาการเขียนโปรแกรมและการเข้ารหัสสำหรับการคำนวณและการเปรียบเทียบข้อมูล

11
ตัวดำเนินการ“ is” ทำงานแบบไม่คาดคิดกับจำนวนเต็ม
Наэтотвопросестьответына Stack Overflow нарусском : Присваиваниецелых (int) ในПитоне ทำไมสิ่งต่อไปนี้ถึงทำงานโดยไม่คาดหมายใน Python >>> a = 256 >>> b = 256 >>> a is b True # This is an expected result >>> a = 257 >>> b = 257 >>> a is b False # What happened here? Why is this False? …


26
ทำไมสิ่งนี้ถึงได้วนซ้ำไม่สิ้นสุด?
ฉันมีรหัสต่อไปนี้: public class Tests { public static void main(String[] args) throws Exception { int x = 0; while(x<3) { x = x++; System.out.println(x); } } } เรารู้ว่าเขาควรจะเขียนแค่x++หรือx=x+1แต่x = x++ก่อนนั้นมันควรแอตทริบิวต์xกับตัวเองและเพิ่มขึ้นในภายหลัง ทำไมถึงxดำเนินต่อด้วย0คุณค่า --update นี่คือ bytecode: public class Tests extends java.lang.Object{ public Tests(); Code: 0: aload_0 1: invokespecial #1; //Method java/lang/Object."<init>":()V 4: return …

13
อะไรคือความแตกต่างระหว่าง '/' และ '//' เมื่อใช้สำหรับการหาร?
มีประโยชน์ในการใช้อย่างใดอย่างหนึ่งมากกว่าที่อื่น ๆ ? ใน Python 2 พวกเขาทั้งคู่ดูเหมือนจะให้ผลลัพธ์ที่เหมือนกัน: >>> 6/3 2 >>> 6//3 2

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


10
รูบีแบบทวิภาค `::` คืออะไร?
ลำไส้ใหญ่คู่นี้คือ::อะไร Foo::Barเช่น ฉันพบคำจำกัดความ : The ::เป็นตัวดำเนินการเอกที่อนุญาตให้: ค่าคงที่, วิธีการอินสแตนซ์และวิธีการเรียนที่กำหนดไว้ในชั้นเรียนหรือโมดูลที่จะเข้าถึงได้จากทุกที่นอกชั้นเรียนหรือโมดูล สิ่งที่ดีคือขอบเขต (ส่วนตัวได้รับการป้องกัน) ถ้าคุณสามารถใช้::เพื่อเปิดเผยอะไร
427 ruby  syntax  operators 

9
ตัวดำเนินการสัญลักษณ์ของ Scala ทั้งหมดหมายถึงอะไร
ไวยากรณ์สกาล่ามีสัญลักษณ์มากมาย เนื่องจากชื่อประเภทเหล่านี้หาได้ยากโดยใช้เสิร์ชเอ็นจิ้นรายชื่อที่ครอบคลุมจึงมีประโยชน์ สัญลักษณ์ทั้งหมดใน Scala คืออะไรและแต่ละสัญลักษณ์ทำอะไร โดยเฉพาะอย่างยิ่งผมอยากจะรู้เกี่ยวกับ->, ||=, ++=, <=, _._, และ:::+=
402 scala  operators 



3
เครื่องหมายคำถามและตัวดำเนินการ dot คืออะไร หมายถึงใน C # 6.0?
ด้วย C # 6.0 ในตัวอย่าง VS2015 เรามีโอเปอเรเตอร์ใหม่?.ซึ่งสามารถใช้ดังนี้: public class A { string PropertyOfA { get; set; } } ... var a = new A(); var foo = "bar"; if(a?.PropertyOfA != foo) { //somecode } มันทำอะไรกันแน่?
359 c#  operators  c#-6.0 

14
ทำไม (0 <5 <3) ถึงกลับจริง
ฉันกำลังเล่นอยู่ใน jsfiddle.net และฉันอยากรู้ว่าทำไมสิ่งนี้ถึงได้ผลตอบแทนจริง? if(0 &lt; 5 &lt; 3) { alert("True"); } ดังนั้นสิ่งนี้: if(0 &lt; 5 &lt; 2) { alert("True"); } แต่นี่ไม่ใช่: if(0 &lt; 5 &lt; 1) { alert("True"); } การเล่นโวหารนี้มีประโยชน์เคย?


12
ไม่สามารถใช้โอเปอเรเตอร์ == กับประเภททั่วไปใน C # ได้หรือไม่
ตามเอกสารของ==ผู้ประกอบการในMSDN , สำหรับประเภทค่าที่กำหนดไว้ล่วงหน้าตัวดำเนินการความเท่าเทียมกัน (==) จะส่งกลับค่าจริงถ้าค่าของตัวถูกดำเนินการเท่ากันเท็จมิฉะนั้น สำหรับชนิดการอ้างอิงอื่นที่ไม่ใช่สตริง == จะส่งกลับค่าจริงถ้าตัวถูกดำเนินการทั้งสองอ้างถึงวัตถุเดียวกัน สำหรับประเภทสตริง == เปรียบเทียบค่าของสตริง ประเภทค่าที่ผู้ใช้กำหนดสามารถโอเวอร์โหลดตัวดำเนินการ == (ดูโอเปอเรเตอร์) ดังนั้นประเภทการอ้างอิงที่ผู้ใช้กำหนดสามารถทำได้ โดยค่าเริ่มต้น == จะทำงานตามที่อธิบายไว้ข้างต้นสำหรับทั้งประเภทการอ้างอิงที่กำหนดไว้ล่วงหน้าและที่ผู้ใช้กำหนด เหตุใดข้อมูลโค้ดนี้จึงไม่สามารถรวบรวมได้ bool Compare&lt;T&gt;(T x, T y) { return x == y; } ฉันได้รับข้อผิดพลาดผู้ประกอบการ '==' ไม่สามารถนำไปใช้กับตัวถูกดำเนินการชนิด 'T' และ 'T' ฉันสงสัยว่าเพราะเท่าที่ฉันเข้าใจตัว==ดำเนินการที่กำหนดไว้ล่วงหน้าสำหรับทุกประเภท? แก้ไข:ขอบคุณทุกคน ตอนแรกฉันไม่ได้สังเกตว่าคำสั่งนั้นเกี่ยวกับประเภทการอ้างอิงเท่านั้น ฉันยังคิดว่าการเปรียบเทียบแบบทีละบิตมีไว้สำหรับค่าทุกประเภทซึ่งตอนนี้ฉันรู้ว่าไม่ถูกต้อง แต่ในกรณีที่ฉันใช้ประเภทอ้างอิงตัว==ดำเนินการจะใช้การเปรียบเทียบการอ้างอิงที่กำหนดไว้ล่วงหน้าหรือจะใช้ตัวดำเนินการรุ่นที่มีการโอเวอร์โหลดของผู้ประกอบการหรือไม่ แก้ไข 2:จากการทดลองและข้อผิดพลาดเราเรียนรู้ว่า==ผู้ประกอบการจะใช้การเปรียบเทียบการอ้างอิงที่กำหนดไว้ล่วงหน้าเมื่อใช้ประเภททั่วไปที่ไม่ จำกัด ที่จริงแล้วคอมไพเลอร์จะใช้วิธีการที่ดีที่สุดที่จะหาอาร์กิวเมนต์ประเภทที่ จำกัด แต่จะไม่ดูเพิ่มเติม ตัวอย่างเช่นรหัสด้านล่างจะพิมพ์ทุกtrueครั้งแม้ว่าTest.test&lt;B&gt;(new B(), new …


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