Ruby while ずっと繰り返す スクリプトの書き方

バイオインフォ道場、くまぞうです。

while文は、条件を満たす間ずっとコードブロックを繰り返す場合に使います。例えば、「ファイルの末尾までチェックする」とか、「ある条件を満たすまで」というような回数不定の条件などで用いると便利です。

スポンサーリンク



while文による繰り返し制御

while文の書き方

while文を繰り返すための条件式を書きます。条件がtrueの間ずっと繰り返しを行います。条件を満たしたか?の判断に、「繰り返し処理を脱出するbreak」や「途中で折り返すnext」などの制御文と一緒に用いられることが多いです。

while文の一般的な形式

while 条件式
    対応した文
    ...
end

プログラム

test_while.rb
#! /usr/bin/ruby

require 'io/console'

sec = ("A".."Z").to_a.sample
#puts sec
puts "PLEASE INPUT KEY(A-Z). Quit:Control+C"
begin
  count = 0
  while count<10
    key = (STDIN.gets.chomp)[0]
    count = count+1
    puts sec<key ? "A..#{key}" : "#{key}..Z"
    break if key==sec
  end
  puts count<10 ? "you win" : "ruby win"
rescue Interrupt => e
  exit
end

プログラム実行

test_while
$ test_while.rb
PLEASE INPUT KEY(A-Z). Quit:Control+C
-------------------------------------
A
A..Z
H
H..Z
O
O..Z
Q
Q..Z
V
A..V
T
T..Z
you win

プログラムについて

test_while.rbでは、入力されたキーをチェックするために「while」を使いました。標準入出力STDIN.getsを使って、キーボードから入力された文字を判断します。10回以内の入力でランダムに選ばれた文字と一致したら、「あなたの勝ち」です。10回以内に当てれなかったら、「ruby」の勝ちです。

whileの条件は入力回数のcount<10で、1回入力する度にcount+1されます。key==secでキーが一致したらbreakでwhileの繰り返しを抜けます。begin〜rescueは、強制終了のControl+Cを捕捉するために準備しました。 秘密のキーは、「("A".."Z").to_a.sample」で実行毎に1つ選びます。ヒントを表示していますが、最も近かった情報を記録して表示すると、もっと楽しめると思います。

スポンサーリンク





ピックアップ記事

  1. awk split サンプルでわかる列の分割とセパレータ(文字・正規表現)の指定方法

    awkのsplit関数は、セパレータを指定して文字列を分割することができます。セパレータには文字や…
  2. R 使い方 グラフの色 自作のカラーパレットとデフォルトのカラーパレット

    グラフを描画する際、色の組み合わせを1つ1つ考えるのは面倒ですよね。Rには、あらかじめ色の組み合わ…
  3. awk if サンプルでわかる条件文の書き方 一致・大小比較・正規表現を簡潔に書く方法

    awkのif条件文は、条件によって処理をわけたいときに使います。条件式では、0の判定・関係演算子・…

人気記事

  1. Excel, その他, 統計

    z-score 計算方法 エクセル(Excel) 編
    統計処理で、大きく変化しているなどの判断基準にも使われる値…
  2. R データ型 - 文字列・ベクター・データフレーム・マトリックス など-, R言語, スクリプト

    R subset関数 データフレームやmatrixからの条件指定による行・列の抽出
    R の subset関数は、データフレームやマトリックスか…
  3. IGV, 解析ツール

    IGV 使い方 インストール〜便利な使い方まで | リファレンス・マッピングデータ・アノテーションを読み込んで表示しよう
    IGV(Integrative Genomics View…

おすすめ記事

  1. bash 応用, シェルスクリプト

    シェル スクリプト ファイル存在チェック・空のファイルチェック
    bashでスクリプトを作成するときに、よく使うのがファイル…
  2. R言語, グラフ

    R 使い方 軸・ラベルの調整(向き・サイズ・色など) グラフの描き方
    Rによるplot(グラフ)の描画は、手軽で大変便利です。た…
  3. awk, bash 文字列操作, シェルスクリプト

    bash 部分文字列・置換・長さ・連結・分割の文字列処理
    bashのよく使う文字列処理、部分文字列・置換・連結・長さ…