วิธีที่เหมาะสมในการใช้การแก้ไขสตริงใน Ruby มีดังนี้:
name = "Ned Stark"
puts "Hello there, #{name}" #=> "Hello there, Ned Stark"
นั่นคือวิธีที่ฉันตั้งใจจะใช้มันเสมอ
อย่างไรก็ตามฉันสังเกตเห็นบางอย่างแปลก ๆในการแก้ไขสตริงของทับทิม ฉันสังเกตเห็นว่าการแก้ไขสตริงทำงานใน Ruby โดยไม่มีวงเล็บปีกกาเกี่ยวกับตัวแปรอินสแตนซ์ ตัวอย่างเช่น:
@name = "Ned Stark"
puts "Hello there, #@name" #=> "Hello there, Ned Stark"
และการลองสิ่งเดียวกับตัวแปรที่ไม่ใช่อินสแตนซ์ไม่ได้ผล
name = "Ned Stark"
puts "Hello, there, #name" #=> "Hello there, #name"
ฉันได้ลองแล้วประสบความสำเร็จทั้งใน 1.9.2 และ 1.8.7
ทำไมถึงได้ผล? ล่ามมาทำอะไรที่นี่?