julia - 单行函数中的三元运算符

标签 julia ternary-operator

在 Julia 中,我可能想编写一个返回 0 的函数。如果输入小于 1 ,或返回 2如果输入大于或等于 1 .这是一个非常简单的函数,还有五行的冗长if else构造可能是过度的。所以我试图把它变成一个单行函数。我能想到的最好的方法如下:

f(x::Number) = begin (x < 1) && return(0); return(2); end

或者
f(x::Number) = begin x < 1 ? (y=0) : (y=2); return(y); end

有没有更简单的方法来定义这个函数?

最佳答案

julia> f(x::Number) = x < 1 ? 0 : 2
f (generic function with 1 method)

julia> f(0)
0

julia> f(1)
2

julia> f(0.99)
0

关于julia - 单行函数中的三元运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30520836/

相关文章:

types - 指定元组中的项目数

JavaScript:在 `for loop` 语句中工作的 `if` 在 `ternary` 语句中不起作用?为什么?

Python 多重嵌套三元表达式

Angular 2 三元是否要将禁用添加到输入

matlab - 是否有可以像 VBA 的 IIF 一样内联放置的 Matlab 条件 IF 运算符

javascript - jQuery 中 if(something.length) 的含义

types - julia 子类型化参数父类(super class)型时类型不正确

julia - 使用 Plots.jl 对多个绘图进行着色

dataframe - 错误: UndefVarError: y not defined

file - 如何从 Julia 中打开的 IOStream 中检索文件路径