top


総投稿数 本 
no_

スポンサーサイト

 --------
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
カテゴリ :スポンサー広告 トラックバック(-) コメント(-)
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 | 問い合わせ

仕事検索、アルバイト検索、依頼仕事の検索ポータル - 仕事検索.COM - www.jobkensaku.com ツクルン

創るmetaboy - WEB創る、サイト創る、何創る - 創ったmetaboy

 

リンク集

 

最近の記事

 

ブロとも申請フォーム
Sponserd by

さくらのレンタルサーバ さくらのレンタルサーバ
大容量・高機能レンタルサーバー heteml 大容量・高機能レンタルサーバー heteml
XREA (ValueDomain)
お名前.com お名前.com
名づけてねっと名づけてねっと
ムームードメインムームードメイン

 

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。