10章 再帰とこれまでの復習と表わさる章の、10.3に項目立てらる練習問題の内、 前回の些か疑問を呈した完全なシャッフルに引き続き求められるを引用すれば
10.1 再帰
10.2 通過儀礼:並べ替え(ソート)
10.3 練習問題
10.4 例をもう1つ
10.5 追加練習問題
あなたの作ったソートのアルゴリズムは確かにすばらしいものでしょう。 でも、うやむやにすませたいと思うような厄介な点が残っていませんか? そう、大文字の件です。 あなたのソートアルゴリズムは一般的なソートには申し分ないのですが、 文字列をソートする場合には、本当の辞書順ではなしに、 キャラクタのフォント(ASCIIコード)の順序を使っています。 辞書では普通、その順序に大文字と小文字の区別はありません。 ということで、単語をソートする新しい(dictionary_sortのような)メソッドを作りましょう。 ただし、もし大文字で始まる単語が与えられたら、 辞書にあるのと同じ順に並べ替えた上で、 そのまま大文字を含んだ単語を返すことを忘れないように気を付けてください。とあり、此れに対する贄たるは2009年3月21日に既に掲載済となれば、 今回は此の大文字小文字を考慮せぬ前回分を解答例として供すべく積りにてあります。
スポンサーリンク
# ユーザー入力取得ブロック
word = []
while word.last != ´´
puts ´お好きな単語を入力して下さい。´
puts ´結果閲覧したい時は
何も入力しないでENTERを押して下さい。´
word.push gets.chomp
end
word.pop
部分を用意したもののブログでご覧いただくにあたっては、
只に此方で出力した結果を提示するのみとあって、
当該部分は前回のサンプルの入力値を配列と為し、
word = []
while word.last != ´´
puts ´お好きな単語を入力して下さい。´
puts ´結果閲覧したい時は
何も入力しないでENTERを押して下さい。´
word.push gets.chomp
end
word.pop
word = [´orange´, ´kiwi´, ´banana´,
´apple´, ´pineapple´, ´peach´]
の処々を大文字に書き換えたもの
´apple´, ´pineapple´, ´peach´]
word = [´Orange´, ´kiwi´, ´banana´,
´apple´, ´Pineapple´, ´peach´]
へと変更し、
当ブログは2009年04月8日のアーティクルで
ご紹介の404 Blog Not Found運営のアルファブロガー小飼弾氏提供
ブログ上で様々な言語を実行可能なAPI
を利用してご覧いただこうと思います。
此れにてご覧が通り、
´apple´, ´Pineapple´, ´peach´]
if comparison.downcase < least.downcase
tmp_sorted_array.push least
least = comparison
else
tmp_sorted_array.push comparison
end
ブロックがあるに依って今回が練習問題の要請を満たして、
綺麗にアルファベット順の出力の得られれば、
此れを前回の要請のみを満たすべくダウングレードするに
当該ブロックを削除せしめたが下記
をevalしていただければ、大文字の優先された出力が得られるをご覧いただけるのではないかと思います。
小飼弾氏提供のAPIを使用せばリアルタイムの処理が可能にて、
他の単語でお試しの意向のお有りの向きには、
テキストエリア内下より二行目のword配列を書き換えれば試行なるによって、ご確認の程を。
tmp_sorted_array.push least
least = comparison
else
tmp_sorted_array.push comparison
end
此れにて頃日屡耳にするマイクロソフトはWindowsのVistaからXPへのサービスならぬ、 当ブログは 初めてのプログラミング カテゴリーのダウングレードサービスも相成ったかに存知奉る。
意図する順序としては2009年3月21日のアーティクルにて下のコード、 今回がアーティクルにて其の時掲載のコードを紹介申し上げるが見事転倒、 下のコードに大文字、小文字考慮のブロックを挿入したが本来の顛末にて御座候呵々悄然。