銀の童子日記 http://inarin.posterous.com #ginnowarashi posterous.com Sun, 03 Apr 2011 19:22:00 -0700 {Ruby] 配列クラス(4)eachとeach_with_index - Rubyを勉強しようと思ってはじめた日記 - Rubyist http://inarin.posterous.com/ruby-4eacheachwithindex-ruby-rubyist http://inarin.posterous.com/ruby-4eacheachwithindex-ruby-rubyist

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

Permalink | Leave a comment  »

]]>
http://posterous.com/images/profile/missing-user-75.png http://posterous.com/users/he6rDcjdaOGKe inarin inarin inarin
Sun, 03 Apr 2011 19:21:00 -0700 逆引きRuby - 日付と時刻 http://inarin.posterous.com/ruby-0 http://inarin.posterous.com/ruby-0

rubyで日付について色々

Permalink | Leave a comment  »

]]>
http://posterous.com/images/profile/missing-user-75.png http://posterous.com/users/he6rDcjdaOGKe inarin inarin inarin
Sun, 03 Apr 2011 19:14:00 -0700 Ruby/日時操作 - 俺の基地 http://inarin.posterous.com/ruby http://inarin.posterous.com/ruby

rubyでの日付計算など色々

Permalink | Leave a comment  »

]]>
http://posterous.com/images/profile/missing-user-75.png http://posterous.com/users/he6rDcjdaOGKe inarin inarin inarin
Sun, 03 Apr 2011 19:13:00 -0700 指定フォーマットで文字列に変換する - 日付(Date、DateTime)クラス - Ruby入門 http://inarin.posterous.com/-datedatetime-ruby http://inarin.posterous.com/-datedatetime-ruby
Dateオブジェクト.strftime([format])

引数として出力したい形式を表す文字列を指定します。フォーマット文字列には普通の文字列の他に以下のような特別な文字列を指定することが出来ます。

フォーマット文字列出力形式
%A曜日の名称(Sunday, Monday ... )
%a曜日の省略名(Sun, Mon ... )
%B月の名称(January, February ... )
%b月の省略名(Jan, Feb ... )
%c日付と時刻
%d日(01-31)
%H24時間制の時(00-23)
%I12時間制の時(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での日付出力フォーマット

Permalink | Leave a comment  »

]]>
http://posterous.com/images/profile/missing-user-75.png http://posterous.com/users/he6rDcjdaOGKe inarin inarin inarin
Thu, 10 Mar 2011 12:09:00 -0800 RubyInstallerのMinGW32なRubyでのgem installでmakeが必要なとき - きたももんががきたん。 http://inarin.posterous.com/rubyinstallermingw32rubygem-installmake http://inarin.posterous.com/rubyinstallermingw32rubygem-installmake

RubyInstallerのMinGW32なRubyでのgem installでmakeが必要なとき

Ruby

過去記事「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 パッケージにありがちです。

これの対処法書きます。

  1. gem install --platform mswin32 してみる
  2. Ruby DevKit で MinGW の make をインストールしてしまう
  3. MSWin32 の Ruby を使う

の 3 通りです。

windows版rubyでgemのインスコに失敗した場合の対処方法。
RubyDevKitってのを入れたら解決した

Permalink | Leave a comment  »

]]>
http://posterous.com/images/profile/missing-user-75.png http://posterous.com/users/he6rDcjdaOGKe inarin inarin inarin
Thu, 10 Mar 2011 08:23:00 -0800 RubyGems の使い方 - WebOS Goodies http://inarin.posterous.com/rubygems-webos-goodies http://inarin.posterous.com/rubygems-webos-goodies

まずはパッケージのインストール方法を知らなければ話が始まりませんね。リモートリポジトリ(通常は 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では

Permalink | Leave a comment  »

]]>
http://posterous.com/images/profile/missing-user-75.png http://posterous.com/users/he6rDcjdaOGKe inarin inarin inarin