連載
» 2014年02月27日 18時00分 公開

若手エンジニア/初心者のためのRuby 2.1入門(1):Rubyプログラミングを始めるための基礎知識とインストール (3/3)

[著:麻田優真、監修:山根剛司,株式会社アジャイルウェア]
前のページへ 1|2|3       

ちょっと高度な「Hello World!」(引数を付ける)

 ただ単に画面に「Hello World!」と表示させるだけではつまらないので、コマンドライン引数を使って、任意の文字列を表示できるように改良してみましょう。

 お好みのテキストエディターで、以下のように記述して「hello_xxx.rb」というファイル名で保存してください。

#!/usr/bin/env ruby
# encoding: utf-8
puts "Hello #{ARGV[0]}!"
hello_xxx.rb

 早速実行してみましょう。

$ ruby hello_xxx.rb Alice

 すると、以下のような出力が得られます。

Hello Alice!

 コマンドライン引数は、「ARGV」という名前の配列に格納されており、「ARGV[0]」で1番目の引数、「ARGV[1]」で2番目の引数…… という規則で引数を取り出すことができます。

 「hello_world.rb」との違いは4行目のみです。文字列リテラル中の、「#{}」の中括弧の中はRubyのコードとして実行され、その評価結果に置換されます。ここでは、「ARGV[0]」はコマンドライン引数の1番目の文字列を返し、その文字列で置換されます。

 文字列リテラルについては、次回詳しく説明します。

プロンプトで対話的にRubyを使える「irb」

 「irb」(Interactive Ruby)を使うと、対話的にRubyを使うことができます。わざわざスクリプトを書いて実行するほどでもないときや、思いついた記述を手軽に試すときに役立ちます。

irbの起動

 irbを起動するには、以下のコマンドを実行してください。

$ irb

 すると、シェルのプロンプトがirbのプロンプトに変わります。デフォルトの状態では、以下のようになっています。

2.1.1 :001 > 

irbで計算

 では、irbを使って簡単な計算をしてみましょう。「21 + 21」と入力して[Enter]キーを押してください。

2.1.1 :001 > 21 + 21
 => 42

 「=>」に続いて、式を評価した結果が表示されます。

irbで変数を使う

 変数を使うこともできます(変数については次回に詳しく解説しますが、他のプログラミング言語の経験があれば、何となく分かっていただけると思います)。

2.1.1 :002 > x = 21
 => 21 
2.1.1 :003 > y = 2
 => 2 
2.1.1 :004 > x * y
 => 42

irbでメソッドを定義

 メソッドを定義することもできます(メソッドについても、変数と同様に連載中に詳しく説明します)。

2.1.1 :005 > def rabbit_say
2.1.1 :006?>   "pyon pyon!"
2.1.1 :007?>   end
 => :rabbit_say 
2.1.1 :008 > rabbit_say
 => "pyon pyon!"

 ここでは、「rabbit_say」というメソッドを定義して(:004〜:006)、実際にそのメソッドを呼び出して(:007)、「pyon pyon!」という文字列を得ています。

irbでアンダースコアを使うと……

 アンダースコアを使うことで、前回の評価結果をそのまま流用することもできます。

2.1.1 :009 > 16.8 / 2
 => 8.4 
2.1.1 :010 > _ / 2.0
 => 4.2

irbでクラスやメソッドを呼び出す

 組み込みライブラリのクラスやメソッドを呼び出すこともできます。ここでは例として、時刻を扱う「Time」というクラスを使って、現在時刻を表示しています。

2.1.1 :011 > Time.now
 => 2014-02-03 15:17:20 +0900

irbのリファレンスを参考に

 irbはRubyを学習する際に強力なツールです。本連載でも、通常のスクリプトとirbを併用して学んでいくスタイルを取ります。

 さらにirbを深く知りたい場合は、リファレンスマニュアルのirbのページを参考にするとよいでしょう。

Rubyの学習に役立つ書籍や情報サイト

 本稿の最後に、Rubyを学ぶに当たって役立つ書籍やドキュメントを挙げておきます。ドキュメントを上手に活用して、一流のRubyプログラマーを目指しましょう。

 基本となるリファレンスです。言語仕様や標準ライブラリについて簡潔にまとまっています。

 上述の2つの書籍は1.9向けに書かれていますが、最新の2.1においても十分通用する内容です。一通り読んだ後に、1.9系と2.X系との差分をキャッチアップすればよいでしょう。一つ一つ丁寧に解説されているので、深く学びたい方にお薦めです。

 強力なメタプログラミングの技法が、分かりやすく、そして愉快な語り口で解説されている一冊です。さらなるステップアップを目指す方にお勧めです。

次回から、Rubyの文法を学んでいこう!

 今回は、主に4つのトピックについて学びましたが、いかがでしたでしょうか。

  • Rubyの概要と特長
  • 開発環境のセットアップ方法
  • スクリプトの実行方法
  • irbの使い方

 次回はRubyの文法基礎と称して、式や演算子、リテラル、コメント、制御構文などについて学びます。お楽しみに!


著者プロフィール

麻田 優真(Rails技術者認定シルバー試験問題作成者)

イタリア、ローマ生まれ。中学生のころHSPに初めて触れ、プログラミングの楽しさを知る。オープンソースやハッカーカルチャーを好む。C#からRubyに転向したときに、動的型付け言語の柔軟性やメタプログラミングの魅力に感動し、Rubyとともにプログラマーとしての人生を歩む決意を固める。

現在は奈良先端科学技術大学院大学で学生として所属するかたわら、株式会社アジャイルウェアでプログラマーとして従事。Ruby on Railsによるコンシューマー向けのWebサービスの開発などに尽力している。

好きなメソッドは、define_method。

Twitter:@Mozamimy、ブログ:http://blog.quellencode.org/


監修者プロフィール

山根 剛司(Ruby業務開発歴7年)

兵庫県生まれ。1997年からベンチャー系のパッケージベンダーで10年間勤務。当時、使用していた言語はJavaとサーバーサイドJavaScript。

2007年よりITコンサル会社に転職し、Rubyと出会って衝撃を受ける。基幹システムをRuby on Railsで置き換えるプロジェクトに従事。それ以来Ruby一筋で、Ruby on Railsのプラグインやgemも開発。

2013年より、株式会社アジャイルウェアに所属。アジャイルな手法で、Ruby on Railsを使って企業向けシステムを構築する業務に従事。

Ruby関西所属。

Twitter:@spring_kuma、Facebook:山根 剛司


前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。