03 - writing an inherited class.rb

来自「O Reilly Ruby Cookbook source code」· RB 代码 · 共 42 行

RB
42
字号
class String  def scramble    (split //).sort_by { rand }.join  endend"I once was a normal string.".scramble      # => "i arg cn lnws.Ioateosma n r"#---class UnpredictableString < String  def scramble    (split //).sort_by { rand }.join  end  def inspect    scramble.inspect  endendstr = UnpredictableString.new("It was a dark and stormy night.")# => " hsar gsIo atr tkd  naaniwdt.ym"str# => "ts dtnwIktsr oydnhgi   .mara aa"#---class Array  def sum(start_at=0)    inject(start_at) { |sum, x| sum + x }  endend#---[79, 14, 2].sum                     # => 95['so', 'fa'].sum('')                # => "sofa"[79, 'so'].sum# TypeError: String can't be coerced into Fixnum#---class NumericArray < Array  def sum    inject(0) { |sum, x| sum + x }  endend#---

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?