12
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Red言語で湯婆婆

Last updated at Posted at 2020-11-07

こちらの方の記事を拝読しました。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言語!!

image.png

ついでにやってみましたがうちの湯婆婆は家族の絆すら奪えるようです。

image.png

12
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?