2013-03-12 36 views
1

我不能強烈地制定我現在需要的,但這個想法是這樣的:插在Ruby中用戶輸入的字符串

用戶輸入一些字符串,看起來像一個模板

'Welcome to #{country}!' # or 'Welcome to %%country%%!', it's not essential 

有一些寶石(或可能像厄爾布標準工具),可以做兩件事情:

  1. 驗證給定的字符串(即,如果我允許只country作爲參數傳遞,另一個參數字符串將ñ無效)

  2. 使用傳遞的參數對給定的字符串進行插值(即, some_method('Welcome to #{country}!', country: 'Russia')) # => 'Welcome to Russia!'

回答

8
"Welcome to %{country}!" % {country: "Russia"} 
# => "Welcome to Russia!" 

"Welcome to %{country}!" % {person: "John"} 
# => KeyError: key{country} not found 
+0

我從來沒有見過這樣的代碼:)。有趣的一個。那個'%'叫什麼名字? – 2013-03-12 20:16:37

+0

http://ruby-doc.org/core-2.0/String.html#method-i-25 – nicooga 2013-03-12 20:23:48

+0

哇,謝謝! – MikDiet 2013-03-12 21:05:54