はじめに
はじめまして。営業からRuby on RailsのWebエンジニアになったたっきー(半年)と言います。
僕は文系出身で開発は全くの未経験ですが、一念発起してJOBチェンジした者です。
とても優しく指導して下さっている先輩たちのもと、コツコツと勉強を進めているのですが、やはり分からない事も多く、先輩たちの時間を頂くことが多い恐縮な日々を過ごしています。。
とりあえずRubyを触って半年経ちました。
formの動きとか基礎的なものはようやく動かせるようになりましたが、まだまだ半人前。
そんなちょっとやそっと触っただけで、できる甘い世界ではないですね。
家はシェアハウスに住んでいて住人達から黒魔術ってタイトルのQiita記事をネタにされてブラックマジシャンって呼ばれてます。
しりとりの戦略
「勝つことは偶然なんかじゃない...!」
以下のサイト曰く、しりとりには戦略があるらしい。
http://shiritorinet.o-oku.jp/hissyouhou.html
サイトの中を見てみると、やはり縛り戦略が有効みたいだ。
しりとりでだいたい小学校高学年から中学校くらいでこの戦略が出てくる。
初めてこの戦略にぶち当たった時は面を喰らうものだ。
[単語別戦略]
「ず」攻め:「ず」で終わる言葉は多いが、始まる言葉が少ない
「ぷ」攻め:カタカナ依存の単語になる・純単語が意外と少ない
「る」攻め:「る」で終わる言葉が多く、「る」から始まる言葉が少ない
「り」攻め:派生語依存度が高い
「ぬ」攻め:受け側の語彙数が限定的である
「う」攻め:●●学校やう終わりの単語が多い
純単語:あなたや私など後に単語をくっつけにくい単語
派生語:プロ●●や●●図などいくらでも前後につけて派生できる単語
しりとりの場合
しりとりの本質とは
パターンで検索するということ。
例えば、こういったやりとりがあったとします。
_人人人人_
> 還付 <
 ̄Y^Y^Y ̄
_人人人人人人人人_
> プロ野球選手 <
 ̄Y^Y^Y^Y^Y^Y^Y ̄
_人人人人人人人_
> シュリンプ <
 ̄Y^Y^Y^Y^Y^Y ̄
_人人人人人人人人_
> プロ卓球選手 <
 ̄Y^Y^Y^Y^Y^Y^Y ̄
勿論、しりとりしててPC使えないじゃんなんて正論をここのコメントに書くことは
そもそも論点が違うのでやめてくれよな。
これらのことから・・・
しりとりがゲームの性質上、縛りの法則が有効な戦略であり
それでいかに相手の語彙力を限界値に持っていくかというのが
しりとりというゲームの本質ということになる。
つまり・・・
{相手の単語の語尾}+●●●+{自分が相手に言わせたい単語}をどれだけ多く作っていくか
ということがこのゲームの戦略である。
正規表現
さて、勝つための法則がわかった。
ただしりとりをしながら、広辞苑を開くなんて面倒なことはしたくない。
ただ、スマホに単語を入れて予測変換したとしても語尾は決められない。
ここで役に立つのが、正規表現という概念である。
正規表現とは、「メタ文字」(超すごい文字)を使って呼び出す方程式みたいな存在。
DCコミックがバッドマンとかの事をメタヒューマンって呼称してるのはすごい人間って意味だから!
メタ文字一覧 . ^ $ [ ] * + ? | ( )
例えば、相手が「めかぶ」って単語をいってきて、こっちは「く」で勝負したいなって時は
普通にやると頭の中で単語を探しと思う。
ブックとかブラホック、ブラックマジックとかね。
これを正規表現で表すならば、例えば下記のケースなどだ。
ブ*****クとかで検索すると、正規表現という方程式が登録したデータの中から該当する前後のワードが入った単語を出力してくれるのだ。
※一個一個の説明は今回省くから、興味があったら下記URLを見ておいてほしい!
https://www.mnet.ne.jp/~nakama/
周りの事務仕事してる人にはとても貴重な情報
事務仕事って、意外とロットナンバーとか商品コードとかBCCD00000001111みたいななんの暗号それ?みたいな世界で仕事をしていてctrl+Fとかで検索できるのは知ってるけど、正規表現まで使っていなかったり、調べたけどなんかわからなかったから辞めたって人は多いと思う。
周囲にもしITそんなに強くないよっていう人がいたら、いきなりパソコンの話をするのも疲れるし、しりとりの話題からこういう話題をしてみるのはいかがでしょうか!