# Loops

**URL:** <https://www.ruby-forum.com/t/loops/192914>\
**Category:** Ruby\
**Created:** [August 8, 2010, 10:08am UTC](https://www.ruby-forum.com/t/loops/192914 "2010-08-08T10:08:50Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![midnightcoder](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/edb3f5/32.png) [@midnightcoder](https://www.ruby-forum.com/u/midnightcoder)\
**Post date:** [August 8, 2010, 10:08am UTC](https://www.ruby-forum.com/t/loops/192914/1 "2010-08-08T10:08:50Z")

</div>

Hi, I’m only a newbie on ruby could someone help me with my code:  
Here’s: I’m writing a program which will ask the user to input a word or  
typed goodbye to quit the program. The first part is done the problems  
is that how can i find the longest word?  
example:  
Type a word (or goodbye to quit): Hello  
Type a word (or goodbye to quit): Hello Hello  
Type a word (or goodbye to quit): goodbye

The longest word is â€œHello Helloâ€

can someone help me with my simple program?

Code:  
loop do  
puts “Type a word ( or goodbye to quit):”  
$\_ = gets.chomp

break if $\_ == “goodbye”

end

---

<div class="post-metadata">

**Author:** ![midnightcoder](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/edb3f5/32.png) [@midnightcoder](https://www.ruby-forum.com/u/midnightcoder)\
**Post date:** [August 8, 2010, 10:41am UTC](https://www.ruby-forum.com/t/loops/192914/2 "2010-08-08T10:41:50Z")

</div>

longest = ‘’  
loop do  
puts “Type a word ( or goodbye to quit):”  
$\_ = gets.chomp  
break if $\_ == “goodbye”  
longest = $\_ if $\_.size \> longest.size  
end  
p “Longest is #(longest)”

---

<div class="post-metadata">

**Author:** ![midnightcoder](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/edb3f5/32.png) [@midnightcoder](https://www.ruby-forum.com/u/midnightcoder)\
**Post date:** [August 8, 2010, 11:06am UTC](https://www.ruby-forum.com/t/loops/192914/3 "2010-08-08T11:06:05Z")

</div>

Damjan R. wrote:

> longest = ‘’  
> loop do  
> puts “Type a word ( or goodbye to quit):”  
> $\_ = gets.chomp  
> break if $\_ == “goodbye”  
> longest = $\_ if $\_.size \> longest.size  
> end  
> p “Longest is #(longest)”

Thank U very much! for the fast response  
sorry i forgot to include if longest word has been select how can i get  
the length of that longest word example: Helo Helo (9 characters)

Cheers

---

<div class="post-metadata">

**Author:** ![midnightcoder](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/edb3f5/32.png) [@midnightcoder](https://www.ruby-forum.com/u/midnightcoder)\
**Post date:** [August 8, 2010, 11:13am UTC](https://www.ruby-forum.com/t/loops/192914/4 "2010-08-08T11:13:17Z")

</div>

Hello,

> p “Longest is #(longest)”

You need accolades and not parenthesis here.  
Also, ‘puts’ might be better in this case (‘p’ uses ‘inspect’ and will  
display the string between “…”)

puts “Longest is #{longest}”

Cheers,

---

<div class="post-metadata">

**Author:** ![midnightcoder](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/edb3f5/32.png) [@midnightcoder](https://www.ruby-forum.com/u/midnightcoder)\
**Post date:** [August 8, 2010, 3:51pm UTC](https://www.ruby-forum.com/t/loops/192914/5 "2010-08-08T15:51:15Z")

</div>

Bruce W. wrote:

> Damjan R. wrote:
> 
> > longest = ‘’  
> > loop do  
> > puts “Type a word ( or goodbye to quit):”  
> > $\_ = gets.chomp  
> > break if $\_ == “goodbye”  
> > longest = $\_ if $\_.size \> longest.size  
> > end  
> > p “Longest is #(longest)”
> 
> Thank U very much! for the fast response  
> sorry i forgot to include if longest word has been select how can i get  
> the length of that longest word example: Helo Helo (9 characters)
> 
> Cheers

Change p “Longest is #(longest)” with  
puts “Longest is #(longest) of size #{longest.size}”

HTH gfb

---

<div class="post-metadata">

**Author:** ![midnightcoder](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/edb3f5/32.png) [@midnightcoder](https://www.ruby-forum.com/u/midnightcoder)\
**Post date:** [August 8, 2010, 1:06pm UTC](https://www.ruby-forum.com/t/loops/192914/6 "2010-08-08T13:06:23Z")

</div>

Thx again it works like a charm
