top


総投稿数 本 
no_

スポンサーサイト

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

Ruby:◇配列:ブロック付メソッド ・・・ 【Ruby:15歩目】

 2008-09-02
第15歩
 ◇配列:ブロック付メソッド

  ・配列が持つ「オブジェクト」
  ・配列の要素に対して
   「繰り返し」処理に利用する
  ※まぁ、「制御構造」として利用するわけですね

 +++++++++++++++++++++++++++++++++++
 ・ブロック付メソッド(例)
 +++++++++++++++++++++++++++++++++++

   ●each ・・・ 配列のすべての要素に対して
         任意の処理を繰り返し実行する
a = ["PHP","JavaScript","Ruby"]
a.each do |e|
puts e
end
# 実行結果
PHP
JavaScript
Ruby
> 確認した
    ・do~end が、eachメソッtドに渡すブロック
    ・ブロック引数 e に
     配列の要素が先頭から順番に代入される

    ・書き方として { } も利用可能
a = ["PHP","JavaScript","Ruby"]
a.each {|e|
puts e
}
# 実行結果
PHP
JavaScript
Ruby
> 確認した

    ・1行で表現すると
a = ["PHP","JavaScript","Ruby"]
a.each {|e| puts e }
# 実行結果
PHP
JavaScript
Ruby
> 確認した

   ●each_with_index ・・・ each メソッドに
         インデックス値を取得する機能を
         加えたもの
a = ["PHP","JavaScript","Ruby"]
a.each_with_index do |e,i|
puts "#{(i+1)}:#{e}"
end
# 実行結果
1:PHP
2:JavaScript
3:Ruby
> 確認した
    ・2つ目の引数 i にインデックス値が代入される
    ※これは利用すること多そうだ。
     HTML動的作成の際に、リスト生成するとき
     便利そうだね。


   ●map ・・・ 配列の要素を任意のオブジェクトに置き換えた
         新しい配列を作成する
         ※同じ働きをするものとし collect がある
a = [1,2,3]
b = a.map {|e| e * 2 }
p b #=> [2,4,6]
p a #=> [1,2,3]
> 確認した
    ※これは便利だ。これも使うことが多そうだ。

    ・(これは予想できるが) 破壊的メソッドもあり ( map! )
    ※オブジェクトの値自身を
     まとめて変えることができるわけだ。
a = [1,2,3]
a.map! {|e| e * 2 }
p a #=> [2,4,6]
> 確認した

   ●inject ・・・ ループ処理において、常に前の結果に
          累積的に計算してゆく
a = [1,2,3,4,5,6,7,8,9,10]
allint = a.inject(0) do |t,e|
t + e
end
p allint #=> 55
> 確認した

    ・文字列の連結もできるわけだ
a = ["P","H","P"]
allint = a.inject("") do |t,e|
t + e
end
p allint #=> "PHP"
> 確認した


   ●sort ・・・ 配列の要素を昇順に並び替えた配列を返す
a = ["PHP","JavaScript","Ruby"]
p a.sort #=> ["JavaScript","PHP","Ruby"]
> 確認した
    ※もちろん、より細かい整列設定を加える
     こともできるようだ。


※phpの場合と比べると・・・
 ・とても使いやすいコンパクトな
  メソッドが用意されているようだ。
  サイト構築に、Ruby 利用が増えてきているのも
  うなずける話だ。

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


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


commentsコメント
comment_post












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

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

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

 

リンク集

 

最近の記事

 

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

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

 

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