ตัวดำเนินการเพิ่ม / ลดก่อน / หลัง ( ++และ--) เป็นไวยากรณ์ภาษาโปรแกรมมาตรฐานที่ค่อนข้างดี (สำหรับภาษาขั้นตอนและภาษาเชิงวัตถุอย่างน้อย)
ทำไม Ruby ถึงไม่สนับสนุนพวกเขา? ฉันเข้าใจว่าคุณสามารถทำในสิ่งเดียวกันได้ด้วย+=และ-=แต่มันก็ดูเป็นเรื่องแปลกที่จะไม่รวมบางสิ่งเช่นนั้นโดยพลการโดยเฉพาะอย่างยิ่งเนื่องจากมันกระชับและเป็นแบบแผน
ตัวอย่าง:
i = 0 #=> 0
i += 1 #=> 1
i #=> 1
i++ #=> expect 2, but as far as I can tell,
#=> irb ignores the second + and waits for a second number to add to i
ผมเข้าใจว่าFixnumจะไม่เปลี่ยนรูป แต่ถ้า+=สามารถ instanciate ใหม่Fixnumและตั้งทำไมไม่ทำเช่นเดียวกันสำหรับ++?
ความสม่ำเสมอในการมอบหมายงานที่มี=ตัวละครเป็นเหตุผลเดียวสำหรับสิ่งนี้หรือฉันพลาดอะไรไป?
+=โอเปอเรเตอร์ได้ ใน CI พยายามใช้++/ --only inside conditionals โดยเลือกใช้คำสั่งตามตัวอักษร+=/ -=ในคำสั่งพื้นฐานมากกว่า อาจเป็นเพราะฉันเรียนรู้ Python (นานหลัง C แม้ว่า ... )