with_index メソッド

公開日: : 最終更新日:2014/01/26 Ruby

with_index というメソッドを知ったのでメモ。どういうときに使うかのサンプルを載せておく。

例えば、ファイルを読み込んで特定の行にだけ処理をする場合、「現在何行目を参照しているか」を変数に持たせていた。こんな感じ。

line_no = 0
File.open(file) do |f|
  f.each_line do |line|
    line_no = line_no + 1
    :
    :
  end
end

with_index メソッドを使うとインデックスをカウントしてくれるので、「現在何行目を参照しているか」を変数に保持する必要がなくなる。こんな感じ。

File.open(file) do |f|
  f.each_line.with_index do |line, index|
    :
    :
end

カッコ悪いなぁと思っていたが with_index を使うことで少しだけスマートに書けるようになった。これはいい。

Googleアドセンス用(PC)

  • このエントリーをはてなブックマークに追加
  • follow us in feedly

関連記事

no image

ファイルを読み込んでその内容を保持する

Ruby で書いたスクリプトを module 化していく試みの一貫です。 ファイルを読み込んで、そ

記事を読む

no image

amazon-ecs を使って Amazon から関連商品情報を取得するサンプル

次のサンプルスクリプトを書いたが、これに続くもの。 amazon-ecs を使って Amazon

記事を読む

no image

配列の内容をファイルに書き込む

Ruby で書いたスクリプトを module 化していく試みの一貫です。 Array に保持してい

記事を読む

no image

VPS に Nokogiri をインストールしたときのトラブル

Bundler を使って Nokogiri をインストールしようとしたが、次のようにエラーメッセージ

記事を読む

no image

プログラミングの「面倒くせー」を減らす試み

プライベートで書くコードや、ちょっとしたスクリプトなんかは Ruby で書くようにしていますが、どう

記事を読む

icatch_474695210-resized

amazon-ecsを使った検索のエラー原因を確認する

Amazon が提供しているサービス Product Advertising API を手軽に扱える

記事を読む

no image

Redcarpet を使って Markdown をパースする

Ruby から Redcarpet を使って Markdown をパースしてみた。 せっかくなので

記事を読む

icatch_12845006573-resized

CentOSのバージョン6.5(64ビット)にamazon-ecsをインストールする

Amazon の Product Advertising API を使う作業があったので、Produ

記事を読む

icatch_4081722858-resized

CentOSにRubyのBundlerをインストールして使い始める人向けの簡単なまとめ

Bundler を使ってないと環境を移したときに面倒だってことが身に染みて分かったので Bundle

記事を読む

no image

amazon-ecs を使って Amazon から商品情報を取得するサンプル

次の仕事で使うことになるかもしれないので、どんなことができるのか調査したときに作成したスクリプト。

記事を読む

Googleアドセンス用(PC)

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


− 三 = 5

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Googleアドセンス用(PC)

icatch-jersey_multi_pathparams
Jerseyの@PathParamはスラッシュの間に複数指定できる

http://hoge-api/user/{id}.{format}

icatch-vagrant_box_customize
VagrantのBoxファイルをカスタマイズして独自のBoxファイルを作成する

配布されている Vagrant の Box ファイルを使って検証環境を

icatch-2015-006-1
バリデーションチェックにJava8のOptionalを使ってスマートに書く(自分比)

Web アプリのバリデーションチェックにアノテーションを使うことが増え

icatch-2015-005-1
ユニットテストの偏りを防ぐ命名規則の付け方

ユニットテスト名に以下の命名規則を付けるようにして二ヶ月ぐらい経った。

icatch-2015-004-1
Vagrantで起動したCentOS上のOctopressをホストOSから確認する設定

タイトルの通りだが、Vagrant を使って起動した CentOS に

→もっと見る

PAGE TOP ↑