Ruby 这个是什么版本有的写法,感觉不错

chenge · March 29, 2014 · Last by swordray replied at April 04, 2014 · 1886 hits
# Output "I love Ruby"
say = "I love Ruby"
puts say

# Output "I *LOVE* RUBY"
say['love'] = "*love*"

puts say.upcase

其中这个是什么版本有的写法,感觉不错。

say['love'] = "love"

可以用一个字符串来索引另一个字符串,如果目标字符串含有和索引字符相匹配的子字符串,第一个匹配的子字符串将被返回。 say['love'] = "love" 就是将找到的 love 替换为love.

ruby 1..9.2 还支持这种用法,后面的版本就不知道了

#1 楼 @besfan 2.0.0 一样支持。

实际是一个函数

"I love Ruby".call(:[], 'love')
You need to Sign in before reply, if you don't have an account, please Sign up first.