Rubyプログラムの基本事項

チュートリアルを始めるにあたって、Rubyに関するいくつかの基本事項を説明します。

 

Rubyの実行方法

Rubyのプログラムを実行するための方法を二つ紹介します。統合開発環境(IDE)からRubyを実行する場合は、IDEの内部で(1)のrubyコマンドを使用しているので、IDEの実行方法に従ってください。以下はコマンドラインから実行する方法です。

 

(1)rubyコマンド

テキストエディタを使ってプログラムを作成します。コマンドラインよりプログラムを置いたフォルダ/ディレクトリに移動し、「ruby (プログラムファイル名)」とタイプするとプログラムが実行されます。プログラムファイル名は通常「.rb」という拡張子を使用します。

C:\Ruby193>cd c:\ruby     #プログラムを置いたフォルダに移動

C:\ruby>ruby hello.rb    #rubyコマンドで実行
"Hello Ruby"

C:\ruby>

 

(2)irb(interactive ruby)

irbはRubyを対話的に入力・実行するためのツールです。メソッドやコードの動作を確認するのに便利です。本チュートリアルでも、簡単な振る舞いの確認ではirbを利用しています。
irbを起動するにはコマンドラインより「irb」と入力し、終了するには「exit」または「quit」と入力します。irbが起動しているときに式を入力し[Enter]を押すと式が即座に実行され、返した値を「=>」に続いて表示します。式に標準出力(後述)がある場合は、標準出力の結果の後に式の返却値を表示します。

C:\ruby>irb
irb(main):001:0> 2 + 3               #式を入力
=> 5                                #式の返り値(評価した値)
irb(main):002:0> puts "Ruby"
Ruby
=> nil
irb(main):003:0> exit

C:\ruby>

 

標準出力

Rubyには標準出力の関数としてprint, puts, pが用意されています。printは引数オブジェクトをそのまま出力し、putsは引数を表示した後に改行を付けて出力します。pメソッドは、引数が文字列の場合は、出力の際に「"」で文字列を囲んで返します。pを使うことで出力された値が、文字列なのか数値なのかを見分けることができます。一般的にpは引数で与えられたオブジェクトを人間に読みやすい形で出力します。
引数が文字列の場合は、「"」(ダブルクオート)または「'」(シングルクオート)で囲みます。「"」(ダブルクオート)の場合、「\n」(改行)などの特殊文字や変数展開を扱うことができます。また引数のオブジェクトをカンマで区切って列挙することもできます。

C:\ruby>irb
irb(main):001:0> print "Hello Ruby" #printの例 (最後に改行なし)
Hello Ruby=> nil
irb(main):002:0> puts "Hello Ruby" #putsの例 (最後に改行)
Hello Ruby
=> nil
irb(main):003:0> p "Hello Ruby"     #pの例 (文字列は「"」で囲まれる)
"Hello Ruby"
=> "Hello Ruby"
irb(main):004:0> puts "12345"       #「数字の文字列」をputsで出力した場合
12345
=> nil
irb(main):005:0> puts 12345         #「数字」をputsで出力した場合
12345
=> nil
irb(main):006:0> p "12345"          #「数字の文字列」をpで出力した場合
"12345"
=> "12345"
irb(main):007:0> p 12345           #「数字」をpで出力した場合
12345
=> 12345
irb(main):008:0> puts "Hello\nRuby" #ダブルクオート内では「\n」を解釈
Hello
Ruby
=> nil
irb(main):009:0> puts 'Hello\nRuby' #シングルクオート内は「\n」として出力
Hello\nRuby
=> nil
irb(main):010:0> puts "Hello", "Ruby" #カンマで区切って列挙することも可能
Hello
Ruby
=> nil

 

コメント

#」の後から行末までコメントとして解釈されます。また「=begin」と「=end」を使用すると複数行まとめてコメントにすることができます。「=begin」と「=end」は行頭におく必要があります。

<comment.rb>

#コメント
puts "Hello" #後ろに置くことも可能

=begin
複数行の
コメントも
可能
puts "Ruby"  #ここはコメント文の中なので標準出力されない
=end

puts "World"

 

<実行結果>

C:\ruby>ruby comment.rb
Hello
World

 

文字コードの設定

Rubyでマルチバイトの文字列を扱う時は文字コードを宣言する必要があります。Ruby1.9以降では、magic commentを記述することで、スクリプトの文字コードを宣言することができます。

 文字コード magic comment
 Shift_JIS  # coding: shift_jis
 Windows-31J  # coding: windows-31j
 EUC-JP  # coding: euc-jp
 UTF-8  # coding: utf-8

 Windows-31JはShift_JISの拡張で、通常Windows上で「シフトJIS」として使用されている文字コードです。Windows-31Jには、「sjis」や「cp932」といっ た別名も用意されています。

 

  <encode_setting.rb>

# coding: utf-8 
puts "こんにちは"
puts "こんにちは".encoding

 

<実行結果>

C:\ruby>ruby encode_setting.rb
こんにちは
UTF-8

 

続いて、Rubyのデータ型について説明します。