as?¶
as?
という疑似メソッドは as
に似ていますが、型がマッチしなかった際に例外を投げるのではなく nil
を返すという点が異なります。しかしポインタ型を他の型へキャストすることはできません。
例:
value = rand < 0.5 ? -3 : nil
result = value.as?(Int32) || 10
value.as?(Int32).try &.abs
as?
という疑似メソッドは as
に似ていますが、型がマッチしなかった際に例外を投げるのではなく nil
を返すという点が異なります。しかしポインタ型を他の型へキャストすることはできません。
例:
value = rand < 0.5 ? -3 : nil
result = value.as?(Int32) || 10
value.as?(Int32).try &.abs