Swift 三元,返回测试值

标签 swift ternary

在我的代码中,我检查系统函数是否等于零,如果是我返回另一个值,如果不是,我返回测试值。

    (class.verylongfunc(arg, arg) == 0) ? othervar : class.verylongfunc(arg, arg)

这里有更好更简洁的方法吗?我不想调用该函数两次... 我知道我能做到

  let tmp = class.verylongfunc(arg, arg)
  (tmp == 0) ? othervar : tmp

但是需要两行...

最佳答案

最干净的方法可能吗?

let value = someLongFunc()

if value == 0 {
   return otherValue 
} else {
   return value
}

我向您保证,阅读它的每个人都会毫不犹豫地理解它。您可以制作一些运算符或辅助函数,但真正的“干净方式”是什么?更少的代码行?我强烈不同意这一点。在“干净的代码”中,可读性比破解一行代码更重要,只有糟糕的人才会滥用三元运算符。

关于Swift 三元,返回测试值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36047192/

相关文章:

ios - 如何将 NSData 转换为多种类型的 Ints

vb.net - VB.NET 相当于 C# 的默认关键字是什么?

filter - polymer :三元运算符与 token 列表?

swift - 如何以操作的形式更改 ViewController 之间的数据?

ios - 从单元格中获取标签 - swift

ios - 使用灵活的单元测试快速计时器功能

swift - 如何在 Swift 中编写 initwithcoder?

java - 三元运算符中的多个条件

具有多个值的 NHibernate 三元关联 - 如何以一种很好的方式映射

javascript - 如何重置输入值