[#20675] RCR: non-bang equivalent to []= — Tobias Reif <tobiasreif@...>

Hi,

49 messages 2001/09/01
[#20774] Re: RCR: non-bang equivalent to []= — Tobias Reif <tobiasreif@...> 2001/09/03

I wrote:

[#20778] Re: RCR: non-bang equivalent to []= — Kevin Smith <kevinbsmith@...> 2001/09/03

--- Tobias Reif <tobiasreif@pinkjuice.com> wrote:

[#20715] oreilly buch von matz - website online — markus jais <info@...>

hi

43 messages 2001/09/02
[#20717] Re: OReilly Ruby book has snail on cover — ptkwt@...1.aracnet.com (Phil Tomson) 2001/09/02

Actually, thanks for posting it here. I was trying to search OReilly's

[#20922] Re: OReilly Ruby book has snail on cover — Paul Brannan <pbrannan@...> 2001/09/05

On Mon, 3 Sep 2001, Phil Tomson wrote:

[#20768] Minor cgi.rb question — "Hal E. Fulton" <hal9000@...>

I don't have much experience with

25 messages 2001/09/03

[#20770] Calling member methods from C++ — jglueck@... (Bernhard Glk)

Some quetsions have been solved for me, but my message system does not

12 messages 2001/09/03

[#20976] destructor — Frank Sonnemans <ruby@...>

Does Ruby have a destructor as in C++?

25 messages 2001/09/07

[#21218] Ruby objects <-> XML: anyone working on this? — senderista@... (Tobin Baker)

Are there any Ruby analogs of these two Python modules (xml_pickle,

13 messages 2001/09/15

[#21296] nested require files need path internally — Bob Gustafson <bobgus@...>

Version: 1.64

29 messages 2001/09/18
[#21298] Re: nested require files need path internally — David Alan Black <dblack@...> 2001/09/18

Hello --

[#21302] Re: nested require files need path internally — Bob Gustafson <bobgus@...> 2001/09/18

On Tue, 18 Sep 2001, David Alan Black wrote:

[#21303] Re: nested require files need path internally — matz@... (Yukihiro Matsumoto) 2001/09/18

Hi,

[#21306] Re: nested require files need path internally — Lars Christensen <larsch@...> 2001/09/18

On Tue, 18 Sep 2001, Yukihiro Matsumoto wrote:

[#21307] Re: nested require files need path internally — matz@... (Yukihiro Matsumoto) 2001/09/18

Hi,

[#21331] Re: nested require files need path internally — Paul Brannan <pbrannan@...> 2001/09/18

> The big difference is C++ search done in compile time, Ruby search

[#21340] Re: nested require files need path internally — matz@... (Yukihiro Matsumoto) 2001/09/18

Hi,

[#21353] Re: nested require files need path internally — Paul Brannan <pbrannan@...> 2001/09/18

On Wed, 19 Sep 2001, Yukihiro Matsumoto wrote:

[#21366] Re: nested require files need path internally — matz@... (Yukihiro Matsumoto) 2001/09/19

Hi,

[#21368] Re: nested require files need path internally — "Julian Fitzell" <julian-ml@...4.com> 2001/09/19

On 19/09/2001 at 10:12 AM matz@ruby-lang.org wrote:

[#21376] Re: nested require files need path internally — matz@... (Yukihiro Matsumoto) 2001/09/19

Hi,

[#21406] Re: nested require files need path internally — Paul Brannan <pbrannan@...> 2001/09/19

On Wed, 19 Sep 2001, Yukihiro Matsumoto wrote:

[#21315] Suggestions for new CGI lib — anders@... (Anders Johannsen)

From the comp.lang.ruby thread "Minor cgi.rb question" (2001-09-03), I

21 messages 2001/09/18

[#21413] Ruby/objects book in style of The Little Lisper — Brian Marick <marick@...>

I fell in love with Lisp in the early 80's. Back then, I read a book called

36 messages 2001/09/19
[#21420] Re: Ruby/objects book in style of The Little Lisper — Christopher Sawtell <csawtell@...> 2001/09/20

On 20 Sep 2001 06:19:44 +0900, Brian Marick wrote:

[#21479] Re: Ruby/objects book in style of The Little Lisper — Kevin Smith <kevinbsmith@...> 2001/09/21

--- Christopher Sawtell <csawtell@paradise.net.nz> wrote:

[#21491] SV: Re: Ruby/objects book in style of The Little Lisper — "Mikkel Damsgaard" <mikkel_damsgaard@...> 2001/09/21

[#21494] Re: SV: Re: Ruby/objects book in style of The Little Lisper — Kevin Smith <kevinbsmith@...> 2001/09/21

--- Mikkel Damsgaard <mikkel_damsgaard@mailme.dk> wrote:

[#21510] Re: SV: Re: Ruby/objects book in style of The Little Lisper — Todd Gillespie <toddg@...> 2001/09/22

On Sat, 22 Sep 2001, Kevin Smith wrote:

[#21514] Re: SV: Re: Ruby/objects book in style of The Little Lisper — Kevin Smith <kevinbsmith@...> 2001/09/22

--- Todd Gillespie <toddg@mail.ma.utexas.edu> wrote:

[#21535] irb — Fabio <fabio.spelta@...>

Hello. :) I'm new here, and I have not found an archive of the previous

15 messages 2001/09/22

[#21616] opening a named pipe? — "Avdi B. Grimm" <avdi@...>

I'm having trouble reading from a named pipe in linux. basicly, I'm

12 messages 2001/09/24

[#21685] manipulating "immutable" objects such as Fixnum from within callbacks & al... — Guillaume Cottenceau <gc@...>

Hello,

15 messages 2001/09/25

[#21798] Ruby internal (guide to the source) — "Benoit Cerrina" <benoit.cerrina@...>

Hi,

22 messages 2001/09/28

[ruby-talk:20885] Re: newbie question

From: Pat Eyler <pate@...>
Date: 2001-09-04 19:15:50 UTC
List: ruby-talk #20885
On 05 Sep 2001 03:48:48 +0900, Ned Konz wrote:
> On Tuesday 04 September 2001 11:18 am, Pat Eyler wrote:
> > I never did translate:
> >
> > public class Movie {
> >     public static final int CHILDREN = 2;
> >     public static final int REGULAR = 0;
> >     public static final int NEW_RELEASE = 1;
> > }
> >
> > into ruby, instead I just used the magic numbers 0, 1, and 2 as needed
> > in methods of other classes and ignored it figuring I would have a
> > blinding flash of the obvious and go back and fix things.  As can be
> > expected, the blinding flash never came.
> >
> > Would someone mind enlightening me?
> 
> class Movie
>    CHILDREN = 2
>    REGULAR = 0
>    NEW_RELEASE = 1
>    # ...
> end

I'd tried this, but it fails when I try to use the values outside a
Movie (see the class Price hierarchy) in the code below.  This probably
means that I'm doing something else wrong...

-----------------------------------------------------------------------

class Movie
  CHILDRENS = 2
  NEW_RELEASE = 1
  REGULAR = 0

  attr_accessor :title, :pricecode

  def initialize(title,pricecode)
    @title = title
    setPriceCode(pricecode)
    @pricecode = getPriceCode
  end

  def getPriceCode
    @price.getPriceCode
  end

  def setPriceCode(pricecode)
    case pricecode
      when REGULAR
        @price = RegularPrice.new

      when NEW_RELEASE
        @price = NewReleasePrice.new

      when CHILDRENS
        @price = ChildrensPrice.new

    end
  end

  def getCharge(daysRented)
    @price.getCharge(daysRented)
  end

  def getFrequentRenterPoints(daysRented)
    @price.getFrequentRenterPoints(daysRented)
  end


end

class Rental
  attr_accessor :aMovie, :daysRented
  
  def initialize(aMovie, daysRented)
    @aMovie, @daysRented = aMovie, daysRented
  end

  def getCharge
    aMovie.getCharge(daysRented)
  end

  def getFrequentRenterPoints
    aMovie.getFrequentRenterPoints(daysRented)
  end

end

class Customer
  attr_accessor :name

  def initialize(name)
    @name = name
    @rentals = Array.new
  end

  def addRental(aRental)
    @rentals.push(aRental)
  end

  def statement
    result = "\nRental Record for #{@name}\n"
    @rentals.each do
      |each| 
      # show figures for this rental
      result +="\t#{each.aMovie.title}\t#{each.getCharge}\n"
    end
    result += "Amount owed is #{getTotalCharge}\n"
    result += "You earned #{getFrequentRenterPoints} frequent renter points"
  end

  def htmlStatement
    result = "\n<H1>Rentals for <EM>#{name}</EM></H1><P>\n"
    @rentals.each do
      |each|
      result += "#{each.aMovie.title}: #{each.getCharge}<BR>\n"
    end
    result += "You owe <EM>#{getTotalCharge}</EM><P>\n"
    result += "On this rental you earned <EM>#{getFrequentRenterPoints}" +
      "</EM> frequent renter points<P>"
  end

  def getTotalCharge
    result = 0.0
    @rentals.each do
      |each|
      result += each.getCharge()
    end
    result
  end

  def getFrequentRenterPoints
    result = 0
    @rentals.each do
      |each|
      result += each.getFrequentRenterPoints
    end
    result
  end

end

class Price
  def getPrice
  end

  def getCharge(daysRented)
  end

  def getFrequentRenterPoints(daysRented)
    1
  end
end

class ChildrensPrice < Price
  def getPriceCode
    Movie.CHILDRENS
  end

  def getCharge(daysRented)
    result = 1.5
    if daysRented > 3
      result += (daysRented - 3) * 1.5
    end
  end
end

class NewReleasePrice < Price
  def getPriceCode
    Movie.NEW_RELEASE
  end

  def getCharge(daysRented)
    daysRented * 3.0
  end

  def getFrequentRenterPoints(daysRented)
    frequentRenterPoints = 1
    # add bonus for a two day new release rental
    if ( daysRented > 1) 
      frequentRenterPoints += 1
    end
    frequentRenterPoints

  end 
end

class RegularPrice < Price
  def getPriceCode
    Movie.REGULAR
  end

  def getCharge(daysRented)
    result = 2.0
    if (daysRented > 2)
      result += (daysRented -2) * 1.5
    end
    return result
  end
end   

-------------------------------------------------------------------------


thanks,
-pate

> 
> -- 
> Ned Konz
> currently: Stanwood, WA
> email:     ned@bike-nomad.com
> homepage:  http://bike-nomad.com


In This Thread