更常规的方式来写这个红宝石

luk*_*emh 2 ruby syntax

这个ruby代码有效,但是有更常规或简化的方式来编写它:

options['host'] = begin
  a == :jaxon ? 'jaxon-server16.jaxon.local' : 'doric-server5'
end
Run Code Online (Sandbox Code Playgroud)

我只觉得代码是一种气味,但我不能把手指放在上面.

谢谢.

Ser*_*sev 6

你不需要begin..end这里.

options['host'] = a == :jaxon ? 'jaxon-server16.jaxon.local' : 'doric-server5'
Run Code Online (Sandbox Code Playgroud)

我可能把括号放在右边.没必要,只是为了清楚.

options['host'] = (a == :jaxon ? 'jaxon-server16.jaxon.local' : 'doric-server5')
Run Code Online (Sandbox Code Playgroud)