F#で湯婆婆を実装してみる


諸兄姉がお読みになる前に申し上げます。
本稿は徹頭徹尾おもんない出オチであることを覚悟してください。

ま、みっともないコーダーが来たもんだね。

ここは 湯婆婆 Advent Calendar 2021 22日目だよ!
ネタでもカレンダーを埋め合わせるんだ!
ぐずぐずするんじゃないよ!

なんだいその汚いF#は

いいかい、おまえの初仕事だ。
湯婆婆 言語まとめからF#版を検索するんだよ。

F#なんかの気配がなかったのかい?
ううーん…おかしいね。
なかったものは仕方がない。40秒で実装しな!
こうなったら出来るだけはやくコーディングするしかないよ!

できない!?それがおまえの答えかい?
あたしが関数型言語なんて知る訳ないだろ。
おーいやだ。
さ、C#で湯婆婆を実装してみるの改変でいきな!

そいつの正体はC#もどきだよ。そう、 . N e t !

欲にかられてとんでもないコードを組んじまったもんだよ。

Fsbaba.fs
open System

"契約書だよ。そこに名前を書きな。" |> stdout.WriteLine
let name = stdin.ReadLine()
printfn "フン。%sというのかい。贅沢な名だねぇ。" name
let SayName s = $"今からお前の名前は{s}だ。いいかい、{s}だよ。分かったら返事をするんだ、{s}!!"
(name.Length |> Random().Next, 1) |>name.Substring |> SayName |> Console.WriteLine

馬鹿な最終行のコードはやめとくれ。
そんなひょろひょろなパイプライン連打に何が出来るのさ。

…あぁー、コンソールを汚しちまって。
おまえたち、せめて出力方法を統一しな!

このstdout.WriteLineprintfnConsole.WriteLineの中からおまえのお父さんとお母さんを見つけな。
チャンスは一回だ。ピタリと当てられたらおまえたちゃ自由だよ。

いない!?

……
………大ー当たりー!
行きな!おまえの勝ちだ!
早く次のアドカレにいっちまいな!

いやもう、何のデモ?

♪呼んでいる~ VSのどこか奥で~
♪いつも高階関数する 夢を見たい
♪かなしいコードは数えきれないけれど以下略。終わり!閉廷!!