top



総投稿数 本 
no_78

Ruby:◇繰り返し2:while ・・・ 【Ruby:7.5歩目】

 2008-06-24
第7.5歩
 ◇繰り返し2:while


 いよいよ while だ。どんな言語にも必ず(?)ある、繰り返し用
のメソッド。果たしてRuby では?

 +++++++++++++++++++++
 ・while文
 +++++++++++++++++++++
  whileを使う一番の理由は、条件式を組み合わせることだ
 (例)
 while (条件式)
  (繰り返される処理)
 ens
 
 ということだ。
 また、途中で抜ける場合は break で行う

例えば、おなじみ「じゃんけんロボ」で
・繰り返し じゃんけんを行い
・グーが3回出たら止める
・それは何回目の試行であったか

・・・というのを実現してみる

※ちなみに、while ck_cnt < 2 { |i| というような使い方
はできないみたいなので、試行回数をカウントする変数を用意

ck_cnt = 0 #チェック回数を初期化
ck_all = 0 #試行回数を初期化
while ck_cnt < 2 { |i|
i =0
while ck_cnt < 3
r = rand(3) + 1 # 0 以上 3 未満の範囲の整数の乱数を発生
# その上で、+1 する
print "#{i + 1}回目:"
case r
when 1
puts "グー"
ck_cnt += 1
when 2
puts "チョキ"
when 3
puts "パー"
end
i += 1
end
puts "#{i}回目だ!"

 > よしうまく動いたようだ。

 なお、while の後 true
 を与えれば 無限ループをつくれる ということだが
 どんなときに利用するのだろうか?
while true
puts "止まらないから気をつけて!"
end
これはテストしない

 後、途中で条件により break
ループを抜けることができるのはphpでも同じだが
phpにある continue にあたるものはRubyには
ないようだな。


 【20090613 追記】
 コメントにあるように、教えていただいた。
 ・next
  こちらのサイトで、そのあたりの違いなど
  解説されていた。ありがとうございます。
  break, next, redoの違い

 しかし、Ruby には if文の時にあったような
while修飾子というのがあって
 式 while 式
 右辺の式を評価した値が真の間、左辺を繰り返し実行します。
 ・・・ということで、これは便利だ。

 また
 式を評価した値が真になるまで、本体を繰り返して実行する
until があるのは他の言語と同じだ
 +++++++++++++++++++++
 ・until
 +++++++++++++++++++++
 until 式 [do]
  ...
 end



FC2ブログランキングにほんブログ村 IT技術ブログ Webサイト構築へブログ王ランキング人気ブログランキング人気ホームページランキングへ

commentsコメント
> phpにあるcontinue

Rubyにはnextがありますよ。
【2009/05/13 11:55】 | dan5 #wLMIWoss | [edit]
ありがとうございます!
もっと勉強します。
【2009/05/13 12:47】 | metaboy #- | [edit]
comment_post












管理者にだけ表示を許可する
commentトラックバック
トラックバックURL:
http://metaboy.blog23.fc2.com/tb.php/78-0d5964f5
ようこそ
Add to Google 創るmetaboy:RSSフィード
My Yahoo!に追加
最新記事のRSS | 問い合わせ

正当なHTMLです! 正当なCSSです!

創るmetaboy - WEB創る、サイト創る、何創る -
metaboy つぶやき:twitter
すみません。禁煙カウンタ修復中・・・

 

創ったmetaboy
カテゴリー

 

リンク集

 

ブロとも申請フォーム
月別アーカイブ
 

 

参加しています

スカウター : 創るmetaboy
track feed


SEO対策:プログラミング
SEO対策:WEBサイト
SEO対策:ホームページ
SEO対策:
SEO対策:WEBサービス


Powered By イーココロ!

グリーンブログ ブログで止める温暖化

 

サイトマップ と 関連記事
サイトマップ(全ての記事)
を表示する

▼関連記事(5件まで):
読み込み中...

 

Sponserd by

さくらのレンタルサーバ さくらのレンタルサーバ
大容量・高機能レンタルサーバー heteml 大容量・高機能レンタルサーバー heteml
XREA (ValueDomain)
使えるねっとのVPS(仮想専用サーバー)月2480円〜 使えるねっと
お名前.com お名前.com
名づけてねっと名づけてねっと
ムームードメインムームードメイン
レンタルサーバーなら使えるねっと

 

ツール その2






 

時間あります?