each_with_index
each_with_indexを使うと、インデックスもわかりつつ、配列の要素すべてにアクセスができる
list = [1,12,34,14,5,6] list.each_with_index{|elem, i| print i+1, "番目の要素は", elem, "です\n" }結果
1番目の要素は1です 2番目の要素は12です 3番目の要素は34です 4番目の要素は14です 5番目の要素は5です 6番目の要素は6です
indexを取りつつのeach
Dateオブジェクト.strftime([format])引数として出力したい形式を表す文字列を指定します。フォーマット文字列には普通の文字列の他に以下のような特別な文字列を指定することが出来ます。
フォーマット文字列 出力形式 %A 曜日の名称(Sunday, Monday ... ) %a 曜日の省略名(Sun, Mon ... ) %B 月の名称(January, February ... ) %b 月の省略名(Jan, Feb ... ) %c 日付と時刻 %d 日(01-31) %H 24時間制の時(00-23) %I 12時間制の時(01-12) %j 年中の通算日(001-366) %M 分(00-59) %m 月を表す数字(01-12) %p 午前または午後(AM,PM) %S 秒(00-60) (60はうるう秒) %U 週を表す数。最初の日曜日が第1週の始まり(00-53) %W 週を表す数。最初の月曜日が第1週の始まり(00-53) %w 曜日を表す数。日曜日が0(0-6) %X 時刻 %x 日付 %Y 西暦を表す数 %y 西暦の下2桁(00-99) %Z タイムゾーン %% %自身
rubyでの日付出力フォーマット
RubyInstallerのMinGW32なRubyでのgem installでmakeが必要なとき
過去記事「RubyInstallerのRubyでgem使うとmakeが要ると言われるんですが」(何もない跡地)のリサイクルです
今回は「毎回 gem install --platform mswin32 hogehoge する(new!)」「DevKit 入れとく[update]」「諦めて MSWin32 な Ruby を使う」の3本ですんがんんWindows において、RubyInstaller でインストールされた Ruby を使用していると、gem install 時に稀に「'make' は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません。」と文句を言われてインストールできないことがあります。
C:\Documents and Settings\きたももんが>gem install -V watir GET 302 Found: http://gems.rubyforge.org/latest_specs.4.8.gz (中略) Installing gem win32-api-1.4.5 (中略) Building native extensions. This could take a while... ERROR: Error installing watir: ERROR: Failed to build gem native extension. C:/Ruby/bin/ruby.exe extconf.rb checking for strncpy_s()... no creating Makefile make 'make' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。「MinGW32版Rubyだと検知しましたがこれはWindows版ではないと思うので自前コンパイルします…makeコマンドがありません終了」
という流れになっています。MinGW でコンパイルされた Ruby があまり知られてなかった大昔の gem パッケージにありがちです。
これの対処法書きます。
- gem install --platform mswin32 してみる
- Ruby DevKit で MinGW の make をインストールしてしまう
- MSWin32 の Ruby を使う
の 3 通りです。
windows版rubyでgemのインスコに失敗した場合の対処方法。
RubyDevKitってのを入れたら解決した
まずはパッケージのインストール方法を知らなければ話が始まりませんね。リモートリポジトリ(通常は RubyForge)からパッケージをダウンロードしてインストールするには、以下のコマンドを実行します。
gem install --remote <パッケージ名>このコマンド一発ですべてのインストール作業を自動的に実行してくれます。他のパッケージが必要なら、それらも自動的にインストールしますので、インストール後には確実に利用可能になっているはずです。
なお、上記の例で付加している "--remote" は検索対象をリモートリポジトリのみに限定するオプションです。デフォルトでもローカルとリモートの両方を検索するのですが、混乱を避けるために明示したほうが良いかと思います。ローカルリポジトリとリモートリポジトリについては、後の「ローカルリポジトリの公開」を参照してください。その他、以下のオプションがよく利用されます。
オプション 機能 --version バージョン 指定バージョンをインストール --[no-]rdoc RDoc 形式のドキュメントを生成する[しない] --[no-]ri ri コマンドで読めるドキュメントを生成する[しない] --force 依存性チェックをスキップして強制インストール --ignore-dependencies 依存パッケージをインストールしない "--version" オプションのバージョン指定は、単に "1.0.0" などと記述すれば正確にマッチするバージョンになりますし、 "<1.0.0" のように演算子を付けることもできます。利用可能な演算子は以下のとおりです。
演算子 意味 = 指定バージョン(デフォルト) != 指定バージョン以外 > 指定バージョンより新しいもの >= 指定バージョンか、より新しいもの < 指定バージョンより古いもの <= 指定バージョンか、より古いもの ~> "~>2.0" とすると、 2.x 系列で最新のものになる また、 RubyGems は同時に複数のバージョンをインストールできます。例えばバージョン 1.0.0 と 2.0.0 をインストールして、アプリケーションごとに適切なバージョンを利用することも可能です。詳細は後の「ライブラリの利用方法」をご覧ください。
演算子でのバージョン指定は、
gem install rails -v"~>2.3"
などとするのが正解
※windows版rubyでは