今日は月曜日
世間では、シャイニングマンデーなんてのがあるらしいですね。僕はよく知りませんけど。月曜日の午前中を休みにするという制度のことをシャイニングマンデーって言うらしいです。僕はよく知りませんけど。週末の疲労と週明けの憂鬱感を解消することができる素晴らしい制度なんて言われています。僕はよく知りませんけど。
いや、月曜日なんてどうあがいてもシャイニングになる要素ないでしょ……
適当なゴロをマッチングさせてタイトルみたいな曜日を返すクソアプリ作った
さて、導入のよくわからない茶番に続きまして、よくわからないアプリを作ってしまいました。
今日は何曜日ボタンを押すとタイトルみたいな曜日を返してくれます。ろくなことしてないくせいに普段の月曜判定よりは複雑な処理してます。
RubyのsampleメソッドみたいなのがJavaScriptにあるのかよくわかんなかったので "フィッシャー–イェーツのシャッフル" 使って無理やり配列をシャッフルさせたりなどして重複しない配列を取り出すやつを実装した。まさか、自分が謎アプリを作るためにこんなアルゴリズムが使わないといけなくなるとは……。Yukicoder真面目にやらざるえないな……。
const wordlist = ['A', 'B', 'C', 'D', 'E']; for(let i = wordlist.length - 1; i > 0; i--) { let rnd = Math.floor(Math.random() * (i + 1)); let tmp = wordlist[i]; wordlist[i] = wordlist[rnd]; wordlist[rnd] = tmp; }
ちょうどこの部分。CでSwap関数作るときに似たようなのよく作った思い出がある。
あ、どうでもいい話なんですけど、これWebアプリじゃなくて普通にアプリにしたい。100個ぐらい語群用意して「おはようございます。今日は○○マンデーです。今日も一日頑張っていきましょう!」みたいな感じの文章が出るだけのアプリ。どう考えてもクソアプリなんですけど作りたい。
また、Kotlin触るかー……。
まあ、そういったわけで皆さんが本日なにマンデーなのかは知りませんが本日は「インフィニティダークネスヘルフレイムエターナルインフェルノマンデー」です。今週も地獄に付き合ってもらう。