#概要
名前の通りです。私はこの作品は観ていないですが、とあるフォロワーさんから、ランス・アンド・マスクスの第3話になぜかRubyのコードが載っているとのことで適当に分析しました。なお、以下の記述に登場するキャプチャ画像およびそれをクロップしたものの著作権をここに示します。
Copyright© 1995-2015, Tokyo Broadcasting System Television, Inc. All Rights Reserved.
#読めない(でもなんとか読んだ)
上記含めた数枚から再構築したコードはこんな感じです。
def here?(uri)
(current_server.uri rescue nil) == uri
end
module_function :here?
def config
current_server.config
rescue
DRbServer.make_config
end
module_function :config
def front
current_server.front
end
if RUBY_VERSION >= '1.8'
require 'drb/invokemethod'
class InvokeMethod
include InvokeMethod18Mixin
end
else
require 'drb/invokemethod16'
class InvokeMethod
include InvokeMethod16Mixin
end
def main_loop
Thread_ata
#Rubyとか意味が分からないんですがそれは……
と考えるランス・アンド・マスクスのファンの方々がいるかもしれないので補足を。
Rubyはまつもとゆきひろさんが開発したプログラミング言語で、動的言語のとっつきやすさとオブジェクト指向言語の便利さを併せ持っています。
で、上記コードの「DRbServer」は、dRubyという分散オブジェクトプログラミング用のライブラリに使用するオブジェクトの型の1つです。……分かりやすく書けば、ネットワーク越しにメソッド(プログラム)を複数実行できるので複数台のPCで計算処理などを行えます。
「蒼き鋼のアルペジオのように、どこかからのソースを拝借しているんだろうな……」と思ってググッたところ、とりあえず「def here?(uri)~:config」までは定番コードでした。まあ、drb.rbというファイル名からして、Ruby一式に含まれるライブラリのソースそのままって感じですね。
distributed Ruby --- dRuby 2.0.4
また、「if RUBY_VERSION」以降も、見ての通りバージョン違いを処理するための定型文で、同じソースに含まれています。
これから分かることは、スタッフ内にRubyistがいる可能性が高そうということですね。小難しくするだけならC++で十分ですし(暴言)。ちなみに右下でtopの実行結果らしきものが表示されていますので、OSはLinuxかその派生版である可能性が高いです。
あらすじによるとこの世界は二十一世紀だそうですからLinuxやRubyが出てきてもおかしくはありませんが、**「マスク? サブネットマスクかな?」とか「親の前にまず子を殺せ!」**とかネタにされる可能性も出てきたかもしれません。今後が楽しみですね。