Ruby:
การแทรกค่าลงในสตริง
วิธีการ:
ใน Ruby, คุณห่อตัวแปรหรือนิพจน์ของคุณด้วย #{}
แล้ววางลงในสตริงที่มีเครื่องหมายอัญประกาศสองอัน เช่น:
name = "Jesse"
greeting = "Hey there, #{name}!"
puts greeting # => Hey there, Jesse!
คุณไม่ได้ถูกจำกัดเพียงแค่ตัวแปรเท่านั้น; โค้ด Ruby ใด ๆ ก็สามารถใส่ในนั้นได้:
price_per_kg = 5
quantity = 2
puts "Your total is: $#{price_per_kg * quantity}" # => Your total is: $10
จำไว้ว่า, อัญประกาศเดี่ยวไม่ได้ผล:
puts 'Hey there, #{name}!' # => Hey there, \#{name}!
ดำดิ่งลึกลงไป
ในอดีต, เราคงต้องใช้ +
หรือ <<
ในการต่อสตริงและตัวแปรเข้าด้วยกัน ซึ่งทำให้รกไปหน่อย
email = "user" + "@" + "example.com"
เข้าสู่การแทนที่สตริงใน Ruby, วิธีที่เรียบง่ายกว่าในการผสมข้อความกับโค้ด Ruby ประเมินอะไรก็ตามที่อยู่ภายใน #{}
และแปลงเป็นสตริงโดยอัตโนมัติ พิจารณาถึงงานที่มันช่วยประหยัดจากการแปลงและต่อสตริง:
"π ประมาณ #{Math::PI.round(2)}"
Ruby ไม่เพียงแต่เป็นภาษาเดียว; ภาษาอื่นๆ หลายภาษามีคุณสมบัติที่เอื้อมือมาช่วยนี้ในรูปแบบของตัวเอง แต่ระวัง: ไม่ใช่ภาษาอื่นๆ บางภาษา, Ruby จำกัดความสามารถนี้ไว้เฉพาะกับสตริงที่มีเครื่องหมายอัญประกาศคู่และกรณีพิเศษอื่นๆ (เช่น แบกติกและสัญลักษณ์) อัญประกาศเดี่ยวเพียงแค่ส่งออกสิ่งที่อยู่ข้างใน, ไม่ว่าจะเป็นวงเล็บหยิกหรือไม่ก็ตาม
ดูเพิ่มเติม
- เอกสาร Ruby ว่าด้วยไวยากรณ์: เอกสาร Ruby - ไวยากรณ์
- การมองลงไปลึกและการจัดการสตริง: Ruby-Doc.org - สตริง