Ruby块? :表达

时间:2017-12-04 02:32:47

标签: ruby

col = ["a", "b", "c"]
col.map! { |x| x == "b" ? x + "!" : x }

=> ["a", "b!", "c"]

块中?:的含义是什么?

我尽力通过ruby doc搜索但没有出现。

对于那些表达方式,我能做些什么阅读?

帮助!

1 个答案:

答案 0 :(得分:0)

使用col.map!,您将代码块传递给数组中的每个元素col。此示例中的代码块为:if x == "b"为true,然后执行x + "!",否则返回x。

所以? = 如果确实如此,那就这样做

: = 或者