Ruby

"Mastering Ruby Closures"を読んだ

“Mastering Ruby Closures”を読んだ。 クロージャの観点からRubyのBlock、Proc、Lambdaを解説する本である。 1章でクロージャの基本を押さえ、2章でBlock、3章でProcとLambdaが解説されている。4章は、3章までの知識を使って自前のLazy Enumerableを実装する。

Rubyによるスクレイピングが学べるウェブサイト

Rubyを使ったウェブのスパイダリング、スクレイピングを学べる情報源がないか探していたところこちらのサイトを見つけました。 The Bastards Book of Ruby トップページから「Contents」「Supplements」と順に追っていくと、ウェブ・スクレイピングの基礎をテーマにした以下の記事が見つかります。 An Intro to Web Scraping Meet Your Web Inspector

"Build Awesome Command-Line Applications in Ruby 2"を読んだ

「Build Awesome Command-Line Applications in Ruby 2」を読んでいます。タイトルの通り、Rubyで良いコマンドラインアプリケーションを作ることを目的とする本です。いずれ日本語版が出るんじゃないかと待っていましたが、とくにそういった動きはなさそうなので思い切って英語の原書を購入しました。 良いコマンドラインアプリケーションとは何か。

うるう年を判定するプログラム

ある年が閏年かどうかは次の4つの条件で判断できます。 4で割り切れない年は閏年ではない。 4でも400でも割り切れる年は閏年である 4で割り切れるが400では割り切れず、100で割り切れる年は、閏年ではない。 それ以外の4で割り切れるすべての年は閏年である この条件をもとに閏年を判定するプログラムをRubyで

rbenvでRubyのバージョンを管理する

rbenvを使ってMacBookにRuby 2.0をインストールしました。 rbenvのインストール homebrewを使ってrbenvをインストールします。 $ brew install rbenv rbenvに続いてruby-buildをインストールします。 $ brew install ruby-build シェルの設定ファイルを更新します。 $ echo 'export PATH="$HOME/.rbenv/bin:$PATH' >> ~/.zshrc $ echo 'eval "$(rbenv init -)"' >> ~/.zshrc $ source .zshrc rb

rakeでgetsを使った時、エラーが起きる原因

rakeのタスクの中でコマンドラインからの入力を求めようとgetsを使ったところエラーが発生しました。原因を調べてみました。 現象 エラーが発生するRakefile # Rakefile desc "sample" task :foo do print "> " msg = gets.chomp puts msg end 実行結果 zsh/3 % rake foo > rake aborted! No such file or directory - foo 原因 エラーの原因は、”gets”がKernel#

Aptana Studio 3 で Ruby の開発環境を構築する

Rubyでプログラミングをする場合の開発環境は、テキストエディタ+ターミナルという場合が多いような印象があります。Rubyは手軽に利用できるスクリプト言語なので、それは自然なことだと思います。しかし、世の中には Rubyの開発に対応した統合開発環境(IDE)も複数存在します。とくにRubyをサポートす