2
0

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.

ホクホクのイモ

Last updated at Posted at 2019-08-29

初投稿がホクホクのイモなわけないじゃないですか
なんてことは特になく、ふと思い立って1行でホクホクのイモを書いてみただけ

echo "ホ,ク,イ,モ"|perl -aF',' -lpe '$\_=$F[int(rand(4))].$F[int(rand(4))];$\_.=$\_."の".$F[int(rand(4))].$F[int(rand(4))];'

当然1行に圧縮した時点でドチャクソ読みづらいので何をしているのか解説するためにも改行してコメント追加
とりあえず出力要件としては”[2文字2回]の[2文字]”とする。文字被りは考慮しない。

echo "ホ,ク,イ,モ"|    #何はともあれ文字設定。配列に文字入れたりとかが面倒だったのでechoしてperlのaスイッチでawkコマンド的に配列を作成
perl -aF',' -lpe '    #aスイッチと区切り文字、lで入力行末の改行chompしつつpスイッチでprintを省略
$\_=$F[int(rand(4))].$F[int(rand(4))];    #適当にランダム2文字作成
$\_.=$\_."の".$F[int(rand(4))].$F[int(rand(4))];    直前で作った2文字を2連続しつつ出力後半の2文字を作ってそのまま$_にブチ込む。pスイッチのおかげでprintしなくても$\_が勝手に出力される。
'

改行しようとコメント付けようと読み辛いもんは読み辛かったわメンゴメンゴ

なお反省はしない模様。
多分もっとスマートな書き方とかあるけど気にしない。

2019/11/5
_をエスケープしないと表示されてなかったのでエスケープを追加

2
0
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
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?