01 - extending specific objects with modules.rb
来自「O Reilly Ruby Cookbook source code」· RB 代码 · 共 52 行
RB
52 行
class Person attr_reader :name, :age, :occupation def initialize(name, age, occupation) @name, @age, @occupation = name, age, occupation end def mild_mannered? true endend#---jimmy = Person.new('Jimmy Olsen', 21, 'cub reporter')clark = Person.new('Clark Kent', 35, 'reporter')jimmy.mild_mannered? # => trueclark.mild_mannered? # => true#---module SuperPowers def fly 'Flying!' end def leap(what) "Leaping #{what} in a single bound!" end def mild_mannered? false end def superhero_name 'Superman' endend#---clark.extend(SuperPowers)clark.superhero_name # => "Superman"clark.fly # => "Flying!"clark.mild_mannered? # => falsejimmy.mild_mannered? # => true#---class Person extend SuperPowersend#which is equivalent to:Person.extend(SuperPowers)#---Person.superhero_name # => "Superman"Person.fly # => "Flying!"#---
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?