top


総投稿数 本 
no_

スポンサーサイト

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

Ruby:◇[例題]配列を使った昔話 ・・・ 【Ruby:15.5歩目】

 2008-09-16
第15.5歩
 ◇[例題]配列を使った昔話

  ※今まで学習してきた「配列」を使って
   昔話を創ろう。・・ という例題だ。
  ・文例がある
  ・(ただ表示されるのではなく)
   1秒ごとに1行表示されるように創る
   と、いうものだ。

   参考書:はじめてのRubyプログラミングでは、
    「むかしむかし
     あるところに
     おじいさんと、おばあさんが
     すんでいました

   と、いうものだが あまり面白くないので、

   ◎自由に文章を入れられて、
    それが1秒ごとに表示される原稿となる
    (チャットみたいに?)


   もので、トライする

 +++++++++++++++++++++++++++++++++++
 ・文章を配列に格納する
 +++++++++++++++++++++++++++++++++++

   あらかじめ、文章があるのであれば
texts = [
"むかしむかし",
"あるところに",
"おじいさんと、おばあさんが",
"すんでいました",
]

 として
texts.each do |text|
puts text
end

 とすれば、表示される > 確認した


   ●これを、1秒に1行ごとに表示
    と、するためには
    ・sleep を使って「ウェイト」を入れることにより
     実現できる
      sleep 1 #=> これは、1秒間停止することを意味する
    したがって上記は、
texts = [
"むかしむかし",
"あるところに",
"おじいさんと、おばあさんが",
"すんでいました",
]

 として
texts.each do |text|
puts text
sleep 1
end

 とすれば、表示される > 確認した

   ●それでは入力した内容を累積して
    記録してゆき
    ・10行入力後、自動的に
    1秒間に1行ごとに表示させる
ためには?

   ▼

今までに習った
getsメソッド(文字列入力) と
timesメソッド(決まった回数分繰り返す)
pushメソッtド(値を配列の末尾に追加する)
を利用すれば、実現できる
texts = []
10.times do
nowtext = gets.chop # 文字列を入力し(1回)
texts.push nowtext # 入力した1行ごとに、配列に格納
end

texts.each do |text|
puts text
sleep 1
end
> 確認した

※この連載は、はじめて「Ruby」に取り組んだmetaboyが、
 PHPなどとの違いを考慮しつつ、ゆっくりと
 良書「はじめてのRubyプログラミング」を基に
 学んでゆく、詳細な記録です。
                      (本日の参照:142頁


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


commentsコメント
comment_post












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

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

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

 

リンク集

 

最近の記事

 

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

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

 

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