尋常でないもふもふ

a software engineer blog

ruby

Rubyのmaxとmax_byの違い

使い方が異なる。 max メソッドは比較演算子 <=> の結果、つまり戻り値は -1, 0, 1 のいずれかを返す必要がある。 max_by は比較したい値を返すだけでよい。 gist.github.com ちなみに max も max_by も Enumerable で定義されているメソッドなので Hash に…

fishで環境変数といっしょにコマンド実行したいとき

FishShell ではイコール演算子を使って変数に設定という記法がない。 Ruby on Rails で RAILS_ENV=test bundle exec rake db:migrate みたいなことするとエラーになる。 $ RAILS_ENV=test bundle exec rake db:migrate:status Unsupported use of '='. To ru…

Rubyでarray.each_index.injectしたときの括弧は配列展開

こういうやつ animals = { a1: { name: '犬', type: '哺乳類' }, a2: { name: '猫', type: '哺乳類' }, a3: { name: '蜥蜴', type: '爬虫類' } } mammals = animals.reduce([]) do |arr, (id, animal)| # <- ここの丸括弧 (animal[:type] == '哺乳類') ? (ar…

Rubyでコードポイントから絵文字に変換

p "\u{1F604}" => "😄" p "\u{1F1EF}\u{1F1F5}" => "🇯🇵" p "\u{1F1EF 1F1F5}" => "🇯🇵" 絵文字のコードポイントは Wikipedia とかで見つかる。 Unicode6.0の携帯電話の絵文字の一覧 - Wikipedia Emoji unicode characters for use on the web

RubyMineでデバッグモードが動かなかった

概要 RubyMine はデバッグ実行すると自動的に必要となる ruby-debug-ide と debase をインストールしてくれるが、ファイル権限のエラーがでてしまいデバッグできない問題に遭遇した。 エラー内容 Error running service_test Failed to Install Gems. Follow…

Mac OS X El CapitanでRuby環境

rbenv のインストールと設定 $ brew install rbenv $ rbenv init ~/.bash_profile に以下を追記 eval "$(rbenv init -)" インストール可能な Ruby のバージョンを確認して最新をインストール $ rbenv install -l $ rbenv install 2.3.1 $ rbenv global 2.3.1…

Mac OS X 10.6 Snow LeopardでRuby-1.9.3インストール

RVM 経由でインストールすることに。 インストール手順 まず、Mac にはデフォルトで 1.8 系 Ruby がインストールされているので、それを確認。 $ ruby -v ruby 1.8.7 (2010-01-10 patchlevel 249) [universal-darwin10.0]次に RVM をダウンロードしてそのま…

Redmine2.2のGmail(TLS)によるメール通知

1.1 系から 2.2 系への移行をしたところ、メール通知が届かなくなり困った。 action_mailer_optional_tls プラグイン 以前の環境では TLSをサポートしていない Ruby-1.8 だったので Redmine プラグインが必須だったが、今回は Ruby-1.9 にしたので不要。 con…

Ubuntu12.04のRuby環境

Ruby1.9 をインストール。最初 ruby-rvm をインストールしてみたがエラーがでて失敗したので諦めた。 $ apt-cache search ruby1.9 $ sudo apt-get instal ruby1.9デスクトップ環境の Ubuntu だからか Ruby はデフォルトで入っていなかった。たぶんサーバ環境…