【发布时间】:2016-02-12 14:19:37
【问题描述】:
所以我有以下代码行:
palinwords.select do |x|
x =~ /^[aeiou]/ ? testhash[:vcv] << x : testhash[:cvc] << x
end
我感觉有一种方法可以加强这个操作,使得附加不会明确地写在冒号的两边。我发现很难描述我的意思,所以这里有一个涉及puts 而不是<< 的示例:
我所拥有的类似于 x == 5 ? puts y : puts z
我想要的更像puts (x == 5) ? y : z
完全有可能我遗漏了某些东西或者完全错误地思考了这个问题,所以如果我试图做的事情是不可能的,那也没关系。
【问题讨论】:
-
也许是
key = x =~ /^[aeiou]/ ? :vcv : :cvc; testhash[key] << x。select是干什么用的? -
n.b.对于现在正在阅读本文的任何人 - 上面的代码 不是 我拥有的代码(如果你想看到它,它在原始帖子中可见 - 在功能上与现在的内容没有什么不同),它已被更改由某人进行编辑。
-
@question_asker:编辑可能对某些人有所帮助。如果您介意,可以点击edited ... ago 和click on rollback to restore your original post。
-
@user 不,没关系 - 我只是觉得在不影响功能的情况下进行语法编辑有点奇怪。
标签: ruby ternary-operator