【发布时间】:2015-07-11 08:21:11
【问题描述】:
来自How to customize ternary operators in Swift 我知道可以使用两个二元运算符创建自定义三元运算符,我的问题是:
有没有办法可以用它来初始化类或结构?
假设我有一个LinearEquation。一切正常,但初始化实例感觉不是很自然。以下是它目前的工作方式:
struct LinearEquation {
var m: Double
var c: Double
func of(x: Double) -> Double {
return m * x + c
}
}
let f = LinearEquation(m: 2, c: 1)
f.of(2) // returns 5
有没有办法通过写let f = m * x + c 来创建LinearEquation?如果线路通过原点,是否也可以省略+ c?
(我在下面给出了答案,但我想知道是否有人对我答案末尾所述的原因有任何其他建议)
【问题讨论】:
标签: swift operator-keyword ternary