誰得ボールZ
F#には、独自サフィックスを定義する機能がある。
今が旬の、誰にも使われない超マイナー機能。
例えば、以下のように定義すると「Z」というサフィックスが有効になる。
どこか懐かしい、胸がパチパチするようなサフィックス。
ちなみに、サフィックスとして使用できる文字は「Q, R, Z, I, N, G」のみです。
モジュールも関数も名前が重要だそうです。
module NumericLiteralZ =
let FromZero () = "(´・_・`) バイバイ、天さん・・・"let FromOne () = "◯"
let FromInt32 = function
| n when (n >= 7) -> "いでよ神龍!🐲"
| n -> String.replicate (max 1 n) "◯"
> 1Z ;;
val it : string = "◯"
> 6Z ;;
val it : string = "◯◯◯◯◯◯"
> 7Z ;;
val it : string = "いでよ神龍!🐲"
ちょっと前に仕事でサフィックスの話が出ていたので、思い出したついでに書いてみました。
まとめ
使い道を教えて下さい。(衝撃