> On 4/18/05, Leonardo Francalanci <lfrancalanci / simtel.it> wrote:> Hello,> > I've found Ruby very interesting. I like it, but coming from a Java> background I'm having some problems when it comes to parameters and> function return values. When I program in Java, I just have a look at> the method definition and I know what classes I have to pass to the> method and what class the method will return. And, if I write something> wrong, the compiler will warn me. Now: how do you do it in Ruby? Do you> use a special notation to understand what classes are to be passed to> methods? And: when the parameters of a method change (in number and/or> type), how do you change the calling code accordingly?> > Example:> > def mymethod(customer, vendor)> <some code here>> end> Use good methodnames, document the method and use rdoc on your source files# Adds a new entry to the "customer kills vendor" relationship. ## customer and vendor should respond to persons_id.def customer_killed_vendor(customer, vendor) insert_into('customer_kills_vendor', customer.persons_id, vendor.persons_id)end Then use unit tests to test your sourcecode. > What class do customer and vendor belong? To Customer and Vendor? Or to> Person? Or are they just strings?> What are the ruturn types?> > And when you change the code to:> > def mymethod(customer, vendor, times)> <some code here>> end> > do you use "grep" (or any other IDE command) to find all the calling> code to change it? there are some refactoring tools available, but grep seems nice. Inyour example I'd use a default value:def mymethod(customer, vendor, times=1) <some code here>end as it seems your expanding the method call to add some behaviour. Just my 0.02 regards, Brian Schröäer -- Brian Schröäerhttp://ruby.brian-schroeder.de/