私は間違っていますか?私はカスタムオペレータが迅速にどのように働くかを理解しようとしています。カスタム演算子エラー - 不変の値を渡すことができません
enum MyEnum: String {
case String = "String"
static func << (lhs: inout String?, rhs: MyEnum) {
lhs = rhs.rawValue
}
}
class MyClass {
var value: String?
}
let myClass: MyClass? = MyClass()
myClass!.value << MyEnum.String
myClass!.value // "String"
myClass?.value << MyEnum.String // error: cannot pass immutable value of type 'String?' as inout argument
どうすればいいですか?
はい、動作します。すばらしいです!どうもありがとう! – user1841146
ああ、これは演算子の 'precedencegroup'の' assignment'プロパティーのためです - このようなオプションの連鎖では 'true'を使う必要があります。 – Hamish
これはカスタムタイプに対して '='を宣言できますか? – user1841146