2014-02-23 123 views
1

特殊變量在使用Ruby的正則表達式,就是
$1

#{$1}
之間的區別?正則表達式和紅寶石

注:
標記=〜/(\ d +)/

@a = $1 
s = "<div> ... '#{$1}' ... </div>" 
my_function(par_1,#{$1},par_3) 

注2:
我再試...
正則表達式:/(\ d +)/
字符串:123

$ 1的值是123,對嗎?
如果我想$ 1變量的值傳遞給函數,將我寫

my_function(par_1,#{$1},par_3) 

my_function(par_1,$1,par_3) 

如果我想$ 1變量的地址傳遞給函數,我要寫信

my_function(par_1,#{$1},par_3) 

my_function(par_1,$1,par_3) 

最後一個問題:任何參考,我可以瞭解更多?

+0

您在哪裏找到它,請發送源代碼。好問題,但不清楚。 –

+0

這裏是'「#{}」'這裏 - 'my_function(par_1,#{$ 1},par_3)'? –

+0

我給出了3個例子。 @a = $ 1的值?或字符串?在s中,插入了什麼?在my_fnction中,什麼是par_2,值或字符串還是? – Bertaud

回答

1

$1編號捕獲組

#{$1}將被提到一個名爲捕獲組名稱爲「1」,這是奇怪的。
通常它會是#{$named}#{r[:named]}

+0

你能舉一個具體的例子嗎? – Bertaud