Parameter Type Checking in methods.Q?

  • Thread starter John Pritchard-williams
  • Start date
J

John Pritchard-williams

Again...just wondering....(and you can probably tell I'm comparing Ruby
with Java/C here again, following on from the "++" discussion...)

def MyObject
def my_method(obj)
if obj.class!=String then raise "Wrong Type!"
end
...stuff...
end
end

Would it cause problems with the general syntax to include some sugar to
rewrite this as:

...
def my_method(String obj)
end
...

Or is there any quick easy meta-programming to label methods as
expecting certain types?

Or am I being a big-baby wanting this kind of check, and I should get on
with the Dynamic Vibe of Ruby ? :)

(I just noticed that sometimes I get lost in my own programs by not
checking types thoroughly; yet Java would have forced me to stop and
think...)

John
 
D

David A. Black

Hi --

Again...just wondering....(and you can probably tell I'm comparing Ruby
with Java/C here again, following on from the "++" discussion...)

def MyObject
def my_method(obj)
if obj.class!=String then raise "Wrong Type!"
end
...stuff...
end
end

Would it cause problems with the general syntax to include some sugar to
rewrite this as:

...
def my_method(String obj)
end
...

Or is there any quick easy meta-programming to label methods as
expecting certain types?

Or am I being a big-baby wanting this kind of check, and I should get on
with the Dynamic Vibe of Ruby ? :)

(I just noticed that sometimes I get lost in my own programs by not
checking types thoroughly; yet Java would have forced me to stop and
think...)

I hate to sound curmudgeonly but please check out the probably
(literally) 2500 posts about this and related questions from the past.
It's been discussed and explained mind-numbingly many times.


David

--
Rails training from David A. Black and Ruby Power and Light:
Intro to Ruby on Rails January 12-15 Fort Lauderdale, FL
Advancing with Rails January 19-22 Fort Lauderdale, FL *
* Co-taught with Patrick Ewing!
See http://www.rubypal.com for details and updates!
 
J

John Pritchard-williams

I hate to sound curmudgeonly but please check out the probably
(literally) 2500 posts about this and related questions from the past.
It's been discussed and explained mind-numbingly many times.


David

Apologies. I did have a check on the forum beforehand but didn't find a
match - perhaps I need to learn how to search properly... :)

http://www.ruby-forum.com/forum/4?filter=parameter+type+method
http://www.ruby-forum.com/forum/4?filter=parameter+type+check
http://www.ruby-forum.com/forum/4?filter=parameter+type
http://www.ruby-forum.com/forum/4?filter=parameter+type+sugar

(or else there is no simple answer I guess...)

Cheers
John
 
R

Robert Klemme

Exactly. :)
I hate to sound curmudgeonly but please check out the probably

David, thanks for an English word I have never seen before! Now I
just need to learn how to spell it without breaking my tongue... :)
(literally) 2500 posts about this and related questions from the past.
It's been discussed and explained mind-numbingly many times.

You mean like http://www.lyricsfreak.com/p/pink+floyd/comfortably+numb_20108779.html
?

John, suggested search terms to use "static typing", "dynamic typing",
"duck typing".

Cheers

robert
 
D

David A. Black

Hi --

Apologies. I did have a check on the forum beforehand but didn't find a
match - perhaps I need to learn how to search properly... :)

http://www.ruby-forum.com/forum/4?filter=parameter+type+method
http://www.ruby-forum.com/forum/4?filter=parameter+type+check
http://www.ruby-forum.com/forum/4?filter=parameter+type
http://www.ruby-forum.com/forum/4?filter=parameter+type+sugar

(or else there is no simple answer I guess...)

Try googling for: "type checking" ruby (even though 99% of the time
it's really class/module ancestry checking, it gets raised as type
checking so that's a better bet for searching).


David

--
Rails training from David A. Black and Ruby Power and Light:
Intro to Ruby on Rails January 12-15 Fort Lauderdale, FL
Advancing with Rails January 19-22 Fort Lauderdale, FL *
* Co-taught with Patrick Ewing!
See http://www.rubypal.com for details and updates!
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,577
Members
45,054
Latest member
LucyCarper

Latest Threads

Top