Ruby on Railsを用いて開発をしていると、配列の先頭の要素を取得するメソッドや2番目の要素を取得するメソッドなど、特定の位置にある要素を取り出すメソッドをよく使います。
array = %w(apple banana orange lemon grape)
array.first # apple
array.second # banana
array.last # grape
実際、私はこの3つくらいしか使ったことがないですが、他にもRailsの拡張により、多くのメソッドが用意されています。
array.first # 先頭の要素を取得
array.second # 2番目の要素を取得
array.third # 3番目の要素を取得
array.fourth # 4番目の要素を取得
array.fifth # 5番目の要素を取得
array.forty_two # 42番目の要素を取得
array.third_to_last # 最後から3番目の要素を取得
array.second_to_last # 最後から2番目の要素を取得
array.last # 最後の要素を取得
......?
forty_two
といういつ使われるか全くわからないのがいます。。。
この存在がとても気になったので、今回はRailsのforty_two
メソッドについて考察します。
コミットログを見てみる
まず、forty_two
が追加されたときのコミットログを見てみます。
タイトルは「Reduced the number of literal aliases to the range that has actually seen personal use. With the massive savings in overhead, I was able to fit Array#forty_two」で、後半部分を読んで思わず「なんでやねん」と言ってしまいました。
そして、コメントの中には「これを待っていたんだ!」「最高!」といった発言もあり、盛り上がっている様子が見られます。
42の元ネタ
先程見たコミットログのコメントで説明している人がいましたが、42という数字が用いられた背景には「The Hitchhiker’s Guide to the Galaxy」という作品の存在があります。
この作品の中で、スーパーコンピュータに「生命、宇宙、そして万物についての究極の疑問の答え」を計算させるというシーンがあり、そのスーパーコンピュータが750万年の末に出した答えが、「42」なのです。
これにより、「42」という数字はSFファンの中で有名になり、Rubyのメソッドにも使われるようになったのです。
その他にも42が使われている?!
プログラミング言語の中でforty_twoメソッドが用意されているのはRailsのみのようですが、他にも42は色んなところでネタとして使われています。
例えば、Googleで「生命、宇宙、そして万物についての究極の疑問の答え 計算」と検索すると42という結果が出ます。
そして、もちろん「5 + 生命、宇宙、そして万物についての究極の疑問の答え」は「47」になります。
また、Siriに「人生ってなに?」と尋ねると「42.」と返ってきます。
このように42ネタは広く愛されているようです。
まとめ
今回RailsのArray#forty_twoを発端として42というネタについて調べてきました。私はITに触れてまだ半年ですが、こういうネタにも精通して業界の文化もたくさん知りたいなぁと思います。