2013-06-27 34 views

回答

1

這意味着,它應該返回一個空字符串""如果self.title是得到由#{var1}插值正則表達式匹配,/i意味着它是不區分大小寫。

+1

它究竟在哪裏三元? 「縮短三元」是二元的。否則,'return 0'也是一個縮短的三元組(我們已經擺脫了'if','then'和'else'完全縮寫:) :) – tkroman

+0

真實的,更新的答案。 –

1

首先,

greeting = "Hello" 
puts "#{greeting} world" 

--output:-- 
Hello world 

所以#{..}結構允許你變量插值成字符串 - 它比PHP的$變量替換成字符串更詳細的,但是這是不言而喻的方式。在Ruby中,你還可以插值任意表達式轉換成字符串:

puts "1 + 2 = #{1+2}" 

--output:-- 
1 + 2 = 3 


def get_greeting 
    "Goodbye" 
end 

puts "#{get_greeting} world" 

--output:-- 
Goodbye world 

這裏是你的榜樣:

title = "HELLO" 
var1 = "hello" 

var1 = "" if title.match(/(#{var1})/i) 
puts "--->#{var1}<--" 

--output:-- 
---><-- 

...這相當於:

title = "HELLO" 
var1 = "hello" 

if title.match(/(#{var1})/i) 
    var1 = "" 
end 

puts "--->#{var1}<--" 

--output:-- 
---><-- 

...這是相當於:

title = "HELLO" 
var1 = "hello" 

if title.match(/(hello)/i) 
    var1 = "" 
end 

puts "--->#{var1}<--" 

--output:-- 
---><-- 

請注意,您可以使用#{...}構造將變量插入到正則表達式中。

相關問題