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

chenge · 2014年03月29日 · 最后由 swordray 回复于 2014年04月04日 · 1886 次阅读
# 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')
需要 登录 后方可回复, 如果你还没有账号请 注册新账号