私は PHP 開発者で、Ruby スクリプトを PHP に変換していますが、この構文はどこにも見つかりませんでした。それが何を意味するのか理解するのを手伝ってください。
var1 = "" if self.title.match(/(#{var1})/i)
私は PHP 開発者で、Ruby スクリプトを PHP に変換していますが、この構文はどこにも見つかりませんでした。それが何を意味するのか理解するのを手伝ってください。
var1 = "" if self.title.match(/(#{var1})/i)
まず、
greeting = "Hello"
puts "#{greeting} world"
--output:--
Hello world
したがって、 #{..} コンストラクトを使用すると、変数を文字列に補間できます。これは、php の $variable 補間を文字列に挿入するよりも冗長ですが、そのようになります。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:--
---><--
#{...} コンストラクトを使用して、変数を正規表現に補間できることに注意してください。