Another quicky, sorry

Ok, I’m doing the examples from
http://www.math.umd.edu/~dcarrera/ruby/0.3/chp_04/classes2.html

Exactly as it’s written on the page.
The first part returns fine, and then I start the second part with the
“sandy_addr = Address.new” and it gives me this.
irb(main):181:0> sandy_addr = Address.new
ArgumentError: wrong number of arguments (0 for 1)
from (irb):181:in `initialize’
from (irb):181
from :0
irb(main):182:0>

Anybody?


skt

[email protected]
“I sing a song, falling upon deaf ears; unsung.”

Hello,

Ok, I’m doing the examples from
http://www.math.umd.edu/~dcarrera/ruby/0.3/chp_04/classes2.html

Exactly as it’s written on the page.

i’ve tried most of the examples and to the best of my knowledge, all of
them
work just fine.

The first part returns fine, and then I start the second part with the

“sandy_addr = Address.new” and it gives me this.
irb(main):181:0> sandy_addr = Address.new
ArgumentError: wrong number of arguments (0 for 1)
from (irb):181:in `initialize’
from (irb):181
from :0
irb(main):182:0>

Do you do all your programs on an irb shell ? Its cool for small stuff,
but
if your programs are ``pretty big" the chance of commiting a typo on the
shell and overlooking it is pretty large.

Try pasting the entire thing onto a .rb file and then running ruby on
it.

Also, out of pure curiosity(and nothing else), which operating system
are
you using.

Regards,

  • vihan

skt wrote:

   from :0

irb(main):182:0>

Anybody?

I guess the problem could be here: (in Person.initialize)

@address = Address.new

since the initialize() of Address needs 1 param (and not 0):

class Address
def initialize(street)
@street = street
end
end

i.e. the wrong line should read

@address = Address.new(‘Calle Bolívar, Buenos Aires’)

HTH,
Peter

__
http://wwww.rubyrailways.com

I’m using irb to get a feel for it yah, I’m probably going to have start
committing to using a text editor (i want textmate so bad, but don’t
have a mac).

Anyways I figured out what the problem was…
address = addres.new
is a typo on the page, once I added the second s, i’ve actually made it
to the end of the example.

I’m using linux btw.
I’d prefer to use this on my windows, (dualboot) so i don’t have chmod
everything but limited time and space.

Anyways, wow I thought I was the only one up! :smiley:
skt

Vihan Pandey wrote:

work just fine.

Regards,

  • vihan


skt

[email protected]
“I sing a song, falling upon deaf ears; unsung.”

skt wrote:

   from :0

irb(main):182:0>

Anybody?

Ah, OK, i scrolled down and there is the correct definition of Address
you should use:

class Address
attr_accessor :street, :city, :state, :zip
def initialize
@street = @city = @state = @zip = “”
end
end

so you probably (like me) used a different implementation of Address,
where the constructor takes a parameter.

Replace your implementation of Address with the above one, and
everything should work.

Cheers,
Peter

__
http://www.rubyrailways.com

Hello,

I’m using irb to get a feel for it yah, I’m probably going to have start

committing to using a text editor (i want textmate so bad, but don’t
have a mac).

I’m using linux btw.

I’d prefer to use this on my windows, (dualboot) so i don’t have chmod
everything but limited time and space.

It has its advantages :slight_smile:

If you are an Emacs fan, that could just be the thing for you. There is
a
ruby and ruby on rails mode for the same.

Anyways, wow I thought I was the only one up! :smiley:

i guess all of us are in different time zones :slight_smile:

Regards,

  • vihan

Peter S. wrote:

   from (irb):181:in `initialize'

@address = Address.new(‘Calle Bolívar, Buenos Aires’)

HTH,
Peter

__
http://wwww.rubyrailways.com

Also, there’s a typo on the page that I was completely missing.
Thanks!


skt

[email protected]
“I sing a song, falling upon deaf ears; unsung.”

i guess all of us are in different time zones :slight_smile:
Heh, 10:15 AM here (Europe)

Cheers,
Peter

__
http://www.rubyrailways.com

On 11/9/06, skt [email protected] wrote:

I’m using linux btw.
I’d prefer to use this on my windows, (dualboot) so i don’t have chmod
everything but limited time and space.

If you find you are always doing chmod +x on files with
#!/usr/bin/ruby in the first line, you can always run them with ‘ruby
’. That doesn’t require making the file executable, since
it’s treated as a datafile by the ruby exec. If for some reason your
new files aren’t rw, you probably need to set your umask in your shell
startup script (~/.bashrc or similar).

There are lots of good text editors out there, I’d recommend vim/emacs
but then you’d have two problems :wink: nano is probably the way to go for
instant gratification.

On 11/9/06, Peter S. [email protected] wrote:

i guess all of us are in different time zones :slight_smile:
Heh, 10:15 AM here (Europe)

3:06 PM Here (Asia)