Your own class with inspect method : Class Defintion « Class « Ruby

Home
Ruby
1.ActiveRecord
2.Array
3.CGI
4.Class
5.Collections
6.Database
7.Date
8.Design Patterns
9.Development
10.File Directory
11.GUI
12.Hash
13.Language Basics
14.Method
15.Network
16.Number
17.Rails
18.Range
19.Reflection
20.Statement
21.String
22.Threads
23.Time
24.Tk
25.Unit Test
26.Windows Platform
27.XML
Ruby » Class » Class Defintion 




Your own class with inspect method




class CD
  include Comparable

  @@plays = 0
  attr_reader :name, :artist, :duration
  attr_writer :duration

  def initialize(name, artist, duration)
    @name     = name
    @artist   = artist
    @duration = duration
    @plays    = 0
  end

  def to_s
    "CD: #@name--#@artist (#@duration)"
  end

  def name
    @name
  end

  def artist
    @artist
  end

  def duration
    @duration
  end

  def duration=(new_duration)
    @duration = new_duration
  end

  def duration_in_minutes
    @duration/60.0   # force floating point
  end

  def duration_in_minutes=(new_duration)
    @duration = (new_duration*60).to_i
  end

  def play
    @plays  += 1   # same as @plays = @plays + 1
    @@plays += 1
    "This  CD: #@plays plays. Total #@@plays plays."
  end
  def record
    "Recording..."
  end
  def inspect
    self.to_s
  end
  def <=>(other)
    self.duration <=> other.duration
  end

  def initialize(name, artist, duration)
    @name     = name
    @artist   = artist
    @duration = duration
  end
end


d = CD.new("A""B"260)
d.inspect  #!to_s!

 














Related examples in the same category
1.To create a class in Ruby, you simply use the class statement.
2.A class is defined with the class keyword, followed by an end.
3.names of classes in Ruby start with a capital letter
4.class template
5.A class is itself an object.
6.A simple class that's been documented using comments.
7.Your class with constructor, to string, setter, getter and inspect
8.To embed a module in a class, you use the include statement in the class: include modulename
9.Class with symboles
10.Class variable as condition variable
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.