Ruby勉強

インターネットの企画職な人がプログラミングを勉強するブログ

2016-06-02から1日間の記事一覧

Ruby Refinements(2回目)

オープンクラス定義 class String def to_alphanumeric gsub(/[^\w\s]/,'') end end だが、副作用が発生しやすい Refinementsは module StringEnhance refine String do def to_alphanumeric gsub(/[^\w\s]/,'') end end end using StringEnhance p "beautif…

Ruby prepend(2度目)

module M1 def hoge "from M1 Module" end end module M2 def hoge "from M2 Module" end end class K prepend M1 include M2 def hoge "from K class" end end p K.new.hoge #=> "from M1 Module"

Ruby 定数

大文字で始まるものは定数 module M MyConstant = "外側" class MyClass MyConstant = "内側" end end p M.constants #=> [:MyConstant, :MyClass]。大文字で始まるものはクラス名であろうがとりあえず全部定数。 p ::M::MyConstant #=> "外側" p ::M::MyCla…

Ruby クラス作成時のオブジェクト関係

クラスを宣言した時の継承関係 class A; end p A.ancestors #=> [A, Object, Kernel, BasicObject]。先祖 p A.class #=> Class。クラスクラス。 p Class.class #=> Class p Class.superclass #=> Module。モジュールクラスを継承していることに注目 p A.supe…