2014年11月16日日曜日

Ruby メタプログラミング 基礎トレーニング

  1. Stringオブジェクト”hello”に"world"を追加するworldメソッドをオープンクラスを用いて実装せよ。
  2. Stringオブジェクト”hello”に"world"を追加するworldメソッドを特異メソッドを用いて実装せよ
  3. Stringオブジェクト”hello”のclassを答えよ
  4. Stringクラスのclassを答えよ

1.回答


class String
  def world
    self << "world"
  end
end

puts "hello".world

参考メタプログラミングrubyP38

2.回答


str = "hello"

def str.world
  self << "world"
end

puts str.world

参考メタプログラミングrubyP150

3.回答


puts "hello".class # String

参考メタプログラミングrubyP47

4.回答


puts String.class # Class

参考メタプログラミングrubyP47

この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加

0 件のコメント:

コメントを投稿

Related Posts Plugin for WordPress, Blogger...