ฉันเคยเห็น:=
ใช้ในตัวอย่างโค้ดหลายรายการ แต่ไม่เคยมีคำอธิบายประกอบ เป็นไปไม่ได้เลยที่ Google จะใช้โดยไม่ทราบชื่อที่ถูกต้อง
มันทำอะไร?
:=
เมื่อคุณกำหนดบางสิ่งเพื่อแยกมันออกจากการเปลี่ยนแปลงตัวแปรปกติ .. เรากำลังพูดถึงภาษาโปรแกรมอะไร?
ฉันเคยเห็น:=
ใช้ในตัวอย่างโค้ดหลายรายการ แต่ไม่เคยมีคำอธิบายประกอบ เป็นไปไม่ได้เลยที่ Google จะใช้โดยไม่ทราบชื่อที่ถูกต้อง
มันทำอะไร?
:=
เมื่อคุณกำหนดบางสิ่งเพื่อแยกมันออกจากการเปลี่ยนแปลงตัวแปรปกติ .. เรากำลังพูดถึงภาษาโปรแกรมอะไร?
คำตอบ:
http://en.wikipedia.org/wiki/Equals_sign#In_computer_programming
ในภาษาโปรแกรมคอมพิวเตอร์โดยทั่วไปแล้วเครื่องหมายเท่ากับหมายถึงตัวดำเนินการบูลีนเพื่อทดสอบความเท่าเทียมกันของค่า (เช่นในภาษาปาสคาลหรือไอเฟล) ซึ่งสอดคล้องกับการใช้สัญลักษณ์ในคณิตศาสตร์หรือตัวดำเนินการกำหนด (เช่นในภาษาคล้ายซี ) ภาษาที่เลือกใช้ในอดีตมักใช้เครื่องหมายจุดคู่ (: =) หรือ≔เพื่อแสดงถึงตัวดำเนินการกำหนด ภาษาที่ใช้ตัวเลือกหลังมักใช้เครื่องหมายเท่ากับคู่ (==) เพื่อแสดงถึงตัวดำเนินการความเท่าเทียมกันของบูลีน
หมายเหตุ:ฉันพบสิ่งนี้โดยการค้นหาcolon equals operator
colon equals operator
กระแทกแดกดันคำตอบนี้อยู่ในขณะนี้ด้านบนวิกิพีเดียเมื่อค้นหา
colon equals operator
ๆ เราใช้ความมหัศจรรย์ใน SEO ของ Google เพื่อให้สิ่งนี้เป็นผลลัพธ์อันดับต้น ๆ
เป็นตัวดำเนินการกำหนดในภาษาปาสคาลและมักใช้ในการพิสูจน์และรหัสหลอก มันเหมือนกับ=
ภาษาซี - ถิ่น
ในอดีตเอกสารทางวิทยาการคอมพิวเตอร์ใช้=
สำหรับการเปรียบเทียบความเท่าเทียมกันและ←
สำหรับการมอบหมายงาน Pascal เคย:=
ยืนอยู่ในลูกศรซ้ายที่ยากต่อการพิมพ์ C ไปในทิศทางที่แตกต่างและตัดสินใจเลือกตัวดำเนินการ=
และ==
แทน
ในภาษาที่พิมพ์แบบคงที่Go :=
คือการเริ่มต้นและการกำหนดในขั้นตอนเดียว ทำเพื่ออนุญาตให้มีการสร้างตัวแปรที่เหมือนการตีความในภาษาคอมไพล์
// Creates and assigns
answer := 42
// Creates and assigns
var answer = 42
บางภาษาใช้:=
เพื่อทำหน้าที่เป็นตัวดำเนินการกำหนด
การตีความจากนอกโลกของภาษาโปรแกรมมาจากWolfram Mathworldและคณะ:
ถ้า A และ B เท่ากันตามนิยาม (กล่าวคือ A ถูกกำหนดให้เป็น B) สิ่งนี้จะถูกเขียนในเชิงสัญลักษณ์ว่า A = B, A: = B หรือบางครั้งA≜B
■ http://mathworld.wolfram.com/Defined.html
■ /math/182101/app suitable-notation-equiv- versus
นี่เป็นไวยากรณ์เก่า (pascal) สำหรับตัวดำเนินการกำหนด จะใช้ดังนี้:
a := 45;
อาจเป็นภาษาอื่นเช่นกันอาจใช้ในลักษณะเดียวกัน
=
ในหนังสือจำนวนมากลูกค้าก็ใช้เป็นตัวดำเนินการกำหนดความแตกต่างจากผู้ประกอบการความเสมอภาค ในจำนวนมากของภาษาในระดับสูงแม้ว่าจะได้รับมอบหมายเป็นและความเท่าเทียมกันคือ=
==
มันเหมือนกับลูกศรโดยไม่ต้องใช้สัญลักษณ์น้อยกว่า <= เหมือนที่ทุกคนพูดไปแล้วโอเปอเรเตอร์ "มอบหมาย" นำความชัดเจนไปสู่สิ่งที่ถูกกำหนดให้ตรงข้ามกับตัวดำเนินการเชิงตรรกะของความเท่าเทียมกัน
ในวิชาคณิตศาสตร์มันเหมือนเท่ากับ แต่ A: = B หมายถึง A ถูกกำหนดให้เป็น B สามารถใช้แท่งสามเท่าเพื่อบอกว่ามันเหมือนและเท่ากันตามนิยาม แต่ไม่ใช่สิ่งเดียวกันเสมอไป
อย่างไรก็ตามฉันชี้ไปที่การอ้างอิงอื่น ๆ เหล่านี้ซึ่งอาจอยู่ในความคิดของผู้ที่คิดค้นมันขึ้นมา แต่จริงๆแล้วเครื่องบินนั้นเท่ากันและน้อยกว่าที่เท่ากับถูกนำมา (หรืออาจสับสนได้ง่ายกับ = <) และจำเป็นต้องมีสิ่งใหม่ในการกำหนดการมอบหมายและ ที่เข้าท่าที่สุด
การอ้างอิงทางประวัติศาสตร์: ฉันเห็นสิ่งนี้เป็นครั้งแรกใน SmallTalk ภาษาออบเจ็กต์ดั้งเดิมซึ่ง SJ ของ Apple คัดลอกเฉพาะส่วน Windows ของและ BG ของ Microsoft ที่รดน้ำจากพวกเขาเพิ่มเติม (เธรดเดี่ยว) ในที่สุด SJ ใน NeXT ก็ได้บทเรียนที่สำคัญกว่าครั้งที่สองจาก Xerox PARC ในซึ่งกลายมาเป็น Objective C
อย่างไรก็ตามพวกเขาเพิ่งใช้ตัวดำเนินการดูดกลืนลำไส้ใหญ่จาก ALGOL 1958 ซึ่งต่อมาได้รับความนิยมจาก Pascal
https://en.wikipedia.org/wiki/PARC_(company)
https://en.wikipedia.org/wiki/Assignment_(computer_science)
โดยทั่วไป Assignments จะอนุญาตให้ตัวแปรเก็บค่าที่แตกต่างกันในช่วงเวลาที่ต่างกันในช่วงอายุและขอบเขต อย่างไรก็ตามบางภาษา (ใช้งานได้อย่างเคร่งครัดเป็นหลัก) ไม่อนุญาตให้มีการกำหนดใหม่แบบ "ทำลายล้าง" เนื่องจากอาจบ่งบอกถึงการเปลี่ยนแปลงของรัฐที่ไม่ใช่ท้องถิ่น จุดประสงค์คือเพื่อบังคับใช้ความโปร่งใสในการอ้างอิงกล่าวคือฟังก์ชันที่ไม่ขึ้นอยู่กับสถานะของตัวแปรบางตัว แต่ให้ผลลัพธ์เดียวกันสำหรับชุดอินพุตพาราเมตริกที่กำหนด ณ เวลาใดเวลาหนึ่ง
สำหรับ VB.net
ตัวสร้าง (สำหรับกรณีนี้ Me = this ใน Java):
Public ABC(int A, int B, int C){
Me.A = A;
Me.B = B;
Me.C = C;
}
เมื่อคุณสร้างวัตถุนั้น:
new ABC(C:=1, A:=2, B:=3)
จากนั้นโดยไม่คำนึงถึงลำดับของพารามิเตอร์วัตถุ ABC นั้นมี A = 2, B = 3, C = 1
ดังนั้นแนวทางปฏิบัติที่ดีสำหรับผู้อื่นในการอ่านโค้ดของคุณอย่างมีประสิทธิภาพ
Colon-equals ถูกใช้ใน Algol และลูกหลานของมันเช่น Pascal และ Ada เพราะมันใกล้เคียงกับที่ ASCII ได้รับกับสัญลักษณ์ลูกศรซ้าย
แบบแผนแปลก ๆ ในการใช้การเท่ากับสำหรับการกำหนดและการเท่ากับสองครั้งสำหรับการเปรียบเทียบเริ่มต้นด้วยภาษาซี
ใน Prolog ไม่มีความแตกต่างระหว่างการกำหนดและการทดสอบความเท่าเทียมกัน
<-
เหมือนที่ Haskell ทำ พวกเขาไม่ได้พยายามเข้าใกล้ลูกศรซ้าย:=
โดยใช้คำว่า 'ถูกกำหนดให้เป็น' ทางคณิตศาสตร์ 'เป็นตัวดำเนินการ: mathworld.wolfram.com/Defined.html
:=
<-