[ruby]Rubyの基礎から勉強してみるよ Part2
前回の続き

sortメソッドを使わずに問題を解いてみる。

好きな数だけ単語の入力をしてもらい(1行に1単語、最後はEnterだけの空行)、アルファベット順に並べ変えて出力するようなプログラムを書いてみましょう

バブルソートでの回答

a = []
puts "好きな文字を半角英数字で入力してください,最後に何も入力せずにEnterをタイプすると入力した文字がソートされて表示されます。"
while true
    print "好きな文字をどうぞ>"
    input_str = gets

    #chompをしないと下のif文でEnterのみの場合に空文字と評価されない
    #ちょっとはまった
    input_str.chomp!
    if input_str != ""
        #配列の末尾に追加する
        a << input_str
    else
        puts "エンターがタイプされました。\n今までに入力した文字をアルファベット順にソートして表示してみます。"
        break
    end
end

#バブルソート
flag = nil
begin
    i = 0
    flag = false
    while i < a.size - 1
        if a[i] > a[i+1]
            flag = true
            j = a[i]
            a[i] = a[i+1]
            a[i+1] = j
        end
        i = i + 1
    end
end while(flag)

a.each do |i|
    puts i
end

バブルソートのコードはこちらを参考にしてみました。
この問題を解く事によって配列の扱いやループの種類、またソートアルゴリズムについて勉強になりました。
問題を調べて解くってかなり勉強になりますね。