【戻る】 【進む】   目次   後     3. 特徴 - サンプル2

オブジェクト指向言語としてのRuby

「クラス」=オブジェクトの「タイプ」
メソッドはクラスに定義される
 
tosjis1.rb
require "kconv"
class String
  include Kconv
end
print ARGF.read.tosjis
tosjis1.rb
tateyoko1.rb
class Array
  def sum
    s = 0
    for i in self
      s += i
    end
    s
  end

  def to_i
    collect{|x| x.to_i}
  end

  def +(other)
    a = []
    each_index do |i|
      a.push self[i] + other[i]
    end
    a
  end
end

t = [0, 0, 0]
ARGF.each do |line|
  line.chomp!
  x = line.split.to_i
  puts line + "  #{x.sum}"
  t += x
end
puts t.join(" ") + "  #{t.sum}"
tateyoko1.rb
htmlgrep1.rb
require "kconv"
class String
  include Kconv

  def erase(pat)
    tosjis.gsub(pat, '')
  end

  def filter(str)
    pat = Regexp.new(str, "s")
    grep(pat)
  end
end

str = ARGV.shift
ARGF.read.erase(/<.*?>/s).filter(str).display
htmlgrep1.rb

【戻る】 【進む】   目次   後     3. 特徴 - サンプル2