Bạn có thể sử dụng định dạng giống như sprintf để đưa các giá trị vào chuỗi. Vì vậy, chuỗi phải bao gồm trình giữ chỗ. Đặt các đối số của bạn vào một mảng và sử dụng theo những cách sau: (Để biết thêm thông tin, hãy xem tài liệu về Kernel :: sprintf .)
fmt = 'The %s %s the %s'
res = fmt % [animal, action, other_animal] # using %-operator
res = sprintf(fmt, animal, action, other_animal) # call Kernel.sprintf
Bạn thậm chí có thể chỉ định rõ ràng số đối số và xáo trộn chúng xung quanh:
'The %3$s %2$s the %1$s' % ['cat', 'eats', 'mouse']
Hoặc chỉ định đối số bằng cách sử dụng khóa băm:
'The %{animal} %{action} the %{second_animal}' %
{ :animal => 'cat', :action=> 'eats', :second_animal => 'mouse'}
Lưu ý rằng bạn phải cung cấp một giá trị cho tất cả các đối số cho %
toán tử. Ví dụ, bạn không thể tránh việc xác định animal
.