From: Jane Doe on 16 Nov 2009 07:01 Hi all, I have a Ruby program that reads in a text file of first names and surnames and prints them out in alphabetical order. Now I'm trying to add the option: if a person has a middle name, to print that out too and if they don't, to just print out their first name and surname. I'm having issues when allowing a person to have a middle name or not though. I think it is a problem with my to_s method and when I create a new person. I have attached my ruby file, if anyone has any help or advice on how to start this please let me know. The text file of names is just like this, with the first entry having no middle name and the second one having a middle name: John,Doe Jane,Doe,Amy -- Posted via http://www.ruby-forum.com/.
From: Paul Smith on 16 Nov 2009 07:05 > I have attached my ruby file I don't think you did -- Paul Smith http://www.nomadicfun.co.uk paul(a)pollyandpaul.co.uk
From: Jane O'Maley on 16 Nov 2009 07:09 Paul Smith wrote: >> I have attached my ruby file > > I don't think you did > > -- > Paul Smith > http://www.nomadicfun.co.uk > > paul(a)pollyandpaul.co.uk Ah I'm sorry when trying initially it came up with application error, I didn't realise it was to be attached again. I saved it as a txt file this time. Attachments: http://www.ruby-forum.com/attachment/4243/Person.txt -- Posted via http://www.ruby-forum.com/.
From: Aldric Giacomoni on 16 Nov 2009 07:19 Jane O'Maley wrote: > Ah I'm sorry when trying initially it came up with application error, I > didn't realise it was to be attached again. I saved it as a txt file > this time. def initialize fname, lname, mname=nil @fname = fname @lname = lname @mname = mname end # This makes the last name nil if it's not defined when you create the person. def to_s # easy-to-read solution temp = "#{@lname}, #{fname}" if !@mname.nil? temp += ", #{mname}" end return temp end -- Posted via http://www.ruby-forum.com/.
From: Jane O'Maley on 16 Nov 2009 07:26 > def initialize fname, lname, mname=nil > @fname = fname > @lname = lname > @mname = mname > end > > # This makes the last name nil if it's not defined when you create the > person. > > def to_s > # easy-to-read solution > temp = "#{@lname}, #{fname}" > if !@mname.nil? > temp += ", #{mname}" > end > return temp > end Thank you very much for your help. Having sorted this out I was able to find and fix some other problems I had with it too and can keep moving forward with it. -- Posted via http://www.ruby-forum.com/.
|
Pages: 1 Prev: Newbie question: Defining a numeric type Next: Found Senryu (#224) |