検索
連載

Ruby 2.1の基本構文/基本文法まとめ&Pryの使い方若手エンジニア/初心者のためのRuby 2.1入門(2)(7/7 ページ)

オープンソースのオブジェクト指向プログラミング言語「Ruby」の文法を一から学ぶための入門連載。最新版の2.1に対応しています。今回は、Rubyの変数、定数、リテラル、演算子、条件分岐とループ(繰り返し)、コメントの基本的な使い方について解説。Ruby 2.1での新機能や便利な実行ツール「Pry」のインストールと使い方も紹介します。

PC用表示 関連情報
Share
Tweet
LINE
Hatena
前のページへ |       

for

 forは配列や「範囲オブジェクト」の値を1個ずつ取り出しながら、各値に対して処理を行うために使います。「範囲オブジェクト」について、ここでは詳しく説明しませんが、サンプルコードからその意味は読み取れると思います。

 sample16.rbは、配列から値を1個ずつ取り出して出力する例です。変数「str」に取り出した値が代入されます。

for str in ["alice", "in", "wonderland"]
  puts str
end
sample16.rb
$ ruby sample16.rb
alice
in
wonderland
sample16.rbの実行結果

 sample17.rbは範囲オブジェクトを使った例で、1から10までの値を1個ずつ取り出しながら出力しています。

for i in 1..10
  puts i
end
sample17.rb
$ ruby sample17.rb
1
2
3
4
5
6
7
8
9
10
sample17.rbの実行結果

redo

 redoはnextに似た制御構文ですが、nextは次のループに移行するのに対し、redoはそのループをもう一度実行します。従って、sample18.rbは「無限ループ」となります。実行を止める場合は、[Ctrl]+[C]キーを押して強制終了してください。

for i in 1..10
  puts i
  redo
end
sample18.rb

補足「ループとeachメソッド」

 ここでforループについて説明しましたが、配列やハッシュに定義されているeachメソッドとブロックを用いる方が「Rubyらしい」コードとなります。sample16.rbをeachメソッドを用いて書き換えたものをsample19.rbに示します。

["alice", "in", "wonderland"].each do |str|
  puts str
end
sample19.rb
$ ruby sample19.rb
alice
in
wonderland
sample19.rbの実行結果

 eachメソッドとブロックについては、以降の連載で詳しく説明します。


Rubyのコメント

 最後に、コメントについて説明します。

1行コメント

Rubyでは、1行コメントには「#」を使います。

# this line is not executed.
puts "this line is executed."
sample20.rb
$ ruby sample20.rb
this line is executed.
sample20.rbの実行結果

複数行のコメント

 また、「=begin」と「=end」に囲まれた部分は、複数行のコメントとして扱われます。

=begin
these lines
are not
executed.
=end
puts "this line is executed."
sample21.rb
$ ruby sample21.rb
this line is executed.
sample21.rbの実行結果

次回は組み込みライブラリや標準ライブラリについて

 今回は、変数とオブジェクト、定数、リテラル、式と演算子、制御構文について学習しましたが、いかがでしたでしょうか。今回のサンプルコードは、こちらからダウンロードできます

 次回は組み込みライブラリや標準ライブラリについて学習します。ライブラリについて学ぶことで、さらに高度なプログラムを書けるようになります。お楽しみに!

著者プロフィール

麻田 優真(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:山根 剛司


Copyright © ITmedia, Inc. All Rights Reserved.

前のページへ |       
ページトップに戻る