การแทรกค่าลงในสตริง

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 จำกัดความสามารถนี้ไว้เฉพาะกับสตริงที่มีเครื่องหมายอัญประกาศคู่และกรณีพิเศษอื่นๆ (เช่น แบกติกและสัญลักษณ์) อัญประกาศเดี่ยวเพียงแค่ส่งออกสิ่งที่อยู่ข้างใน, ไม่ว่าจะเป็นวงเล็บหยิกหรือไม่ก็ตาม

ดูเพิ่มเติม