我在過去見過使用?性格要做到這一點。但我無法在互聯網上找到一個例子,很可能是因爲我不知道這種做法實際上被稱爲什麼。如何在Ruby中進行位置替換?
"? ? ?" % ['A','B','C']
產量:
"A B C"
是我想要做的事。
我在過去見過使用?性格要做到這一點。但我無法在互聯網上找到一個例子,很可能是因爲我不知道這種做法實際上被稱爲什麼。如何在Ruby中進行位置替換?
"? ? ?" % ['A','B','C']
產量:
"A B C"
是我想要做的事。
你的問題不太清楚。如果你只想做printf
般的變量替換,你可以像Dave向你:
> "%s %s %s" % ['A', 'B', 'C']
=> "A B C"
如果你想惹的位置也一樣,你可以不喜歡的東西如下:
>> "%3$s %1$s %2$s " % ['A', 'B', 'C']
=> "C A B "
或:
>> "%1$s %1$s %2$s %3$s" % ['A', 'B', 'C']
=> "A A B C"
使用的?
你還記得最有可能的是ActiveRecord的查詢的上下文。這是Rails的具體內容,但在純Ruby中不起作用。
在Ruby中獲得'A B C'
from ['A', 'B', 'C']
的最好方法可能是做['A', 'B', 'C'].join ' '
。但是,在一般情況下,String#%
會像其他人所描述的那樣進行替換(使用'%s'
-樣式的格式字符串)。檢查該方法的文檔和Kernel.sprintf
。
實際上,對於SQL佔位符(不僅僅是在Rails中),'?'是相當標準的,不僅僅是Rails特有的。這並沒有改變它不能在Ruby中工作的事實。 :) –