私のソフトウェアで使用する通貨演算子は、Doubleを使用し、より正確な計算のために通貨タイプを返します。シンボルは演算子ではなく識別子と見なされます
カスタムオペレータのコードは、基本的にはこれに似ています。明示的な精度の落ち込みを無視し、この形式では役に立たない演算子を無視してください。
postfix operator £ { }
postfix func £(number: Double) -> Int {
return Int(number)
}
3.50£ // returns Int(3)
これはSwiftでもうまくいきます。興味深いことに、ユーロ記号とまったく同じことをしようとするとエラーに遭遇します。
postfix operator € { }
postfix func €(number: Double) -> Int {
return Int(number)
}
これはエラー'€' is considered to be an identifier, not an operator
を生成します。私はなぜこのことが許されないのかはわかりません。
スウィフト本をダウンロードして、識別子と演算子の正確な構文を確認してください。 "€"が識別子であり、 "£"が演算子である場合は、Swift言語の構文がそう言います。 PS。 "巧妙な"コードを使用しようとすると非常に注意してください。 – gnasher729