こちらの方の記事を拝読しました。Javaで湯婆婆を実装してみる。笑いました。
Red布教者としてRedでやってみました。
実装
Red [
title: "赤婆婆(Red-Yubaba)"
Author: "Koba-yu"
]
name: ask "契約書だよ。そこに名前を書きな。"
print ["フン。" name "というのかい。贅沢な名だねぇ。"]
new-name: first random name
print rejoin ["今からお前の名前は" new-name "だ。いいかい、" new-name "だよ。分かったら返事をするんだ、" new-name "!!"]
・・・なんか思った以上に短い&読みやすくて大して解説するところがない気もしましたが、一応解説いたします。
1行目
askはConsole入力を待つ関数です。入力内容が戻り値で返るのでnameとして保持しました。
2行目
RedでのConsole出力はprint関数です。
3行目
random関数に文字列を渡すとシャッフルされた文字列が返ります。
first関数で先頭1文字が取得できるので、これで新しい名前が得られます。
超簡単!!
4行目
printする各要素の間にスペースが入ってほしくない場合はrejoinを挟めばOKです。
仕様違反が・・・
元ネタの方の記事では名前が未入力で返ってきたらクラッシュするのが仕様だったのですが、このプログラムでは残念ながらクラッシュしません。
でも他におもしろい挙動も思いつかなかったのでとりあえずそのまま・・・
[追記]𠮷田さんも問題ないよ!
世の中には𠮷田さんから名前を奪ったときにバグってしまう湯婆婆もおわすようですが、Red湯婆婆は問題ございません!
マイナー言語なのにすごいぞRed言語!!
ついでにやってみましたがうちの湯婆婆は家族の絆すら奪えるようです。