que*_*ker 0 ruby ternary-operator
所以我有以下代码行:
palinwords.select do |x|
x =~ /^[aeiou]/ ? testhash[:vcv] << x : testhash[:cvc] << x
end
Run Code Online (Sandbox Code Playgroud)
我觉得有一种方法可以加强这个操作,使附加没有明确地写在冒号的两边.我发现很难描述我的意思,所以这里有一个例子puts而不是<<:
我拥有的是类似的 x == 5 ? puts y : puts z
我想要的更像是 puts (x == 5) ? y : z
完全有可能我错过了一些东西或者认为这完全错了,所以如果我想做的事情是不可能的,那很好.
分开你可以使用的所有palindroms group_by.
palinwords.group_by { |x| x =~ /^[aeiou]/ ? :vcv : :cvc }
Run Code Online (Sandbox Code Playgroud)
像这样的东西:
palinwords.each{ |x| testhash[(x =~ /^[aeiou]/ ? :vcv : :cvc)] << x }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
105 次 |
| 最近记录: |