Also your else should be elsif, assuming you only want that piece of code to execute when num >= 5 && num <= 9 Mark Van Holstyn wrote: > You need matching ends for def, if and do... > > def roman num > > if num <= 4 > i = 1 > rn = (num/i) > rn.times do > print "I" > end > > else num >= 5 && num <= 9 > v = 5 > rn = (num/v) > rnm = (num%v) > rn.times do > print "V" > end > rnm.times do > print "I" > end > end > > end > > > > On 6/25/06, Dark Ambient <sambient / gmail.com> wrote: > >> >> I know this is a literal translation to keyword end, but unsure >> sometimes (right now that is frequent) of where end goes. I know >> there is one to end the method definition. >> However adding one after the if and one after the else , or just one >> for both conditions doesn't seem to help. >> >> def roman num >> >> if num <= 4 >> i = 1 >> rn = (num/i) >> rn.times do >> print "I" >> >> else num >= 5 && num <= 9 >> v = 5 >> rn = (num/v) >> rnm = (num%v) >> rn.times do >> print "V" >> rnm.times do >> print "I" >> >> end >> >> > >