最初に解説する必要があるのは、Rubyにおけるアクセス制御だ。 Rubyのメソッドはpublic、protected、privateのいずれかを選択できる。publicなメソッド(これがデフォルトとなる)は、その名前から期待できる通りのアクセス可能性を提供するものの、Rubyのアクセス制御においてpublicメソッドのレシーバは明示的(特定クラスのインスタンスが格納された何らかの変数)、self(カレントオブジェクトを参照する擬似変数)、暗黙(レシーバを記述しない)のいずれかにすることができる。 なぜ暗黙のレシーバが必要になるのか理解できないという読者もおられるかもしれない。しかし暗黙のレシーバは、前回のコラムにおけるRubyのスクリプト例でもすでに登場していた。例えば次のように記述する場合でも暗黙のレシーバが用いられることになる。 puts 'some string' #putsは暗黙の
最初のコラムでは、Rubyの構文は柔軟であり、ドメイン固有言語(DSL)を作るのに非常に適していると述べた。 さて、これからはRubyのメソッドの定義方法と呼び出し方法について詳しく述べる。さらに、Rubyのメタプログラミングによって、DSLにコードの実行中に新しいクラスを作成させる方法について説明する。これを読めば、DSLの作成に必要なツールの大半を知ることができる。 われわれは既に、Rubyではあるクラスにnewメソッドを送ることでオブジェクトが生成されることを学んでいる。 book = Book.new クラスがnewメソッドを受け取ると、新しいオブジェクトのスペースに割り当て、もしinitializeインスタンスメソッドが存在すればそれを呼び出し、新しいオブジェクトを有効な状態にする。newメソッドに渡される引数は、自動的にinitializeに渡される。例えば次のようになる。 c
来年の戦隊シリーズは熱い! 東映とテレビ朝日は17日、来年1月から始まる新しいスーパー戦隊シリーズ 「炎上戦隊ボウボウジャー」 の制作発表記者会見を都内で開催した。今作はずばり「炎上」と、日本人なら子どもからおとなまで誰もが楽しめるテーマを掲げている。 …グローバリズムとネオリベラリズムの進んだ近未来。人々は厳しい暮らし向きをつかのま忘れるために、ネットでスケープゴートを糾弾する“炎上”を至上の娯楽として楽しむようになっていた。しかし、一部のイケすかない知識人きどりやコミュニティサイト運営企業は、こうした炎上を鎮火させようとさまざまな陰謀をめぐらしてくる。それに対抗するのが、炎上資源を守るために結成されたヒーローチーム 「炎上戦隊ボウボウジャー」 だ! 登場人物: ボウボウレッド 熱き傍観者。常に20万以上のRSSフィードを購読し、誰よりも早く炎上現場に駆け付ける ボウボウブルー 冷たき傍
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く