私はSwiftのカスタム演算子を使って実験しています(実験的にはカスタム演算子が悪い理由について講義する必要はありません)と私は考えていました。少し長い。多分私はこれをオペレータで解決できるだろうか?意図したとおりにrawValueからジェネリック型の列挙型を初期化する
infix operator ∑
func ∑ <T,U:RawRepresentable>(lhs:T,rhs:U.Type) {
rhs(rawValue: lhs)
}
は、次の例のように使用されるでしょう:だから私は書い
enum DiceResult: Int {
case one = 1, two, three, four, five, six
}
let roll = 1 ∑ DiceResult //DiceResult.one
しかし、私が書いたコードは、私は、このエラーを与える:
Non-nominal type 'U' does not support explicit initialization
正直なところ、私はしませんでしたとにかく仕事をするために書いたことを期待しています。私が書こうとしているようなことは、スウィフトでも可能です。誰かがこのようなことをすることができるかどうか、もしそうなら、誰かの光を放つことができますか?
私は型を定数に割り当てることができるので、これはまだ便利です。 1ΣDICE そして、これは公開コードベースには入っていないと心配しないでください。 – PopKernel