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 + -
显示快捷键?