首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重构条件变量赋值

重构条件变量赋值
EN

Stack Overflow用户
提问于 2013-03-21 06:15:52
回答 5查看 8.3K关注 0票数 5

我在做一个项目。目前我有一个相当大的条件语句,它根据一些输入参数为变量赋值。所以,我有这样的东西。

代码语言:javascript
复制
if some condition
  x = some value
elsif another condition
  x = a different value
  ...

重构的最好方法是什么?我希望我能以这样的方式结束

代码语言:javascript
复制
x = some value if some condition || another value if another condition

这类事情有没有模式?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-03-21 06:27:38

只要将赋值放在if之外即可。

代码语言:javascript
复制
x = if some condition
  some value
elsif another condition
  a different value

或者您可以使用Hash。

代码语言:javascript
复制
x = dict[some condition]
票数 12
EN

Stack Overflow用户

发布于 2013-03-21 06:23:33

它不是一个模式,而是一个运算符。您所指的是三元运算符:

代码语言:javascript
复制
If Condition is true ? Then value X : Otherwise value Y

下面是一个示例:

代码语言:javascript
复制
speed = 90
speed > 55 ? puts("I can't drive 55!") : puts("I'm a careful driver")

使用三元语句很简短,而且效果很好。

票数 1
EN

Stack Overflow用户

发布于 2013-03-21 06:27:41

代码语言:javascript
复制
x = some condition ? some value : 
    another condition ? a different value : ...
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15535831

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档