ไปอ่านเจอใน mailing-list
เทียบกันระหว่าง string operation พวกนี้ (ได้ผลลัพท์เหมือนกัน)
c="stuff" 'a' + c + 'b' "a" + c + "b" "a#{c}b" "a" << c << "b"
วิธีไหนน่าจะเร็วสุด
์note: เฉลยพรุ่งนี้ (สำหรับคนไม่มีเวลาทดลอง)
กระทู้เก่าๆ จะย้ายตามไปในภายหลัง ตอนนี้ปิดการโพสต์กระทู้ไว้ เหลือไว้เฉพาะอ้างอิงเท่านั้น
"a" << c << "b"ผมคิดว่าตัวนี้ ถ้าผมเข้าใจไม่ผิด
<<แปลว่า appendสงสัยอีกแล้ว ทำไมไม่มีตัวเลือกนี้
'a' << c << 'c'user system total real 'a' + 2.906000 0.000000 2.906000 ( 2.907000) "a" + 2.891000 0.000000 2.891000 ( 2.890000) a#{ 1.859000 0.000000 1.859000 ( 1.860000) "a" << 2.344000 0.000000 2.344000 ( 2.344000)ผมเดาผิดนะ ตอนแรกผมคิดว่า "a#{c}b" น่าจะเป็นวิธีที่ช้าที่สุด
>นี่ขนาดผมใช้วิธีที่เร็วที่สุดแล้ว (แบบไม่ได้ตั้งใจ) แต่โปรแกรมของผมก็ยังช้าอยู่ดี :-P
ผิดเต็มๆ
อ้า ตอบผิดด้วย
ผมกลับคิดว่า อันแรก
'a' + c + 'b'
เพราะเท่าที่ผมจำได้ เวลา ใช้ " มันต้องมีการ evaluate ค่าด้วย(มั้ง)
เลยคิดว่าอันแรกน่าจะเร็วสุด ดันกลายเป็นช้าสุดซะงั้น
ส่วนไอ้เจ้า #a ที่ตอนแรกน่าจะช้าสุด ดันเร็วสุด ทำไมกันหนอ
ผมเดาเป็น "a#{c}b" เพราะมันดูง่ายสุด (มันมี overhead น้อยสุดเวลารันในหัวผม) lol
ถูกเจ้ย..