as? pseudo-method is similar to
as, except that it returns
nil instead of raising an exception when the type doesn't match. It also can't be used to cast between pointer types and other types.
value = rand < 0.5 ? -3 : nil result = value.as?(Int32) || 10 value.as?(Int32).try &.abs
To the extent possible under law, the persons who contributed to this workhave waived
all copyright and related or neighboring rights to this workby associating CC0 with it.