Ruby 2.1の基本構文/基本文法まとめ&Pryの使い方:若手エンジニア/初心者のためのRuby 2.1入門(2)(7/7 ページ)
オープンソースのオブジェクト指向プログラミング言語「Ruby」の文法を一から学ぶための入門連載。最新版の2.1に対応しています。今回は、Rubyの変数、定数、リテラル、演算子、条件分岐とループ(繰り返し)、コメントの基本的な使い方について解説。Ruby 2.1での新機能や便利な実行ツール「Pry」のインストールと使い方も紹介します。
for
forは配列や「範囲オブジェクト」の値を1個ずつ取り出しながら、各値に対して処理を行うために使います。「範囲オブジェクト」について、ここでは詳しく説明しませんが、サンプルコードからその意味は読み取れると思います。
sample16.rbは、配列から値を1個ずつ取り出して出力する例です。変数「str」に取り出した値が代入されます。
for str in ["alice", "in", "wonderland"] puts str end
$ ruby sample16.rb alice in wonderland
sample17.rbは範囲オブジェクトを使った例で、1から10までの値を1個ずつ取り出しながら出力しています。
for i in 1..10 puts i end
$ ruby sample17.rb 1 2 3 4 5 6 7 8 9 10
redo
redoはnextに似た制御構文ですが、nextは次のループに移行するのに対し、redoはそのループをもう一度実行します。従って、sample18.rbは「無限ループ」となります。実行を止める場合は、[Ctrl]+[C]キーを押して強制終了してください。
for i in 1..10 puts i redo end
補足「ループとeachメソッド」
ここでforループについて説明しましたが、配列やハッシュに定義されているeachメソッドとブロックを用いる方が「Rubyらしい」コードとなります。sample16.rbをeachメソッドを用いて書き換えたものをsample19.rbに示します。
["alice", "in", "wonderland"].each do |str| puts str end
$ ruby sample19.rb alice in wonderland
eachメソッドとブロックについては、以降の連載で詳しく説明します。
Rubyのコメント
最後に、コメントについて説明します。
1行コメント
Rubyでは、1行コメントには「#」を使います。
# this line is not executed. puts "this line is executed."
$ ruby sample20.rb this line is executed.
複数行のコメント
また、「=begin」と「=end」に囲まれた部分は、複数行のコメントとして扱われます。
=begin these lines are not executed. =end puts "this line is executed."
$ ruby sample21.rb this line is executed.
次回は組み込みライブラリや標準ライブラリについて
今回は、変数とオブジェクト、定数、リテラル、式と演算子、制御構文について学習しましたが、いかがでしたでしょうか。今回のサンプルコードは、こちらからダウンロードできます。
次回は組み込みライブラリや標準ライブラリについて学習します。ライブラリについて学ぶことで、さらに高度なプログラムを書けるようになります。お楽しみに!
著者プロフィール
麻田 優真(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.
関連記事
- 3万5000円の参加費でも内外から580人の参加登録:公用語に英語、「再起動」したRubyKaigi 2013が東京で開催
いったん終了していたRubyコミュニティ主催の年次イベントが再開。技術色、国際色を強め、盛況のうちに幕を閉じた - IT業界 転職市場最前線(48):Web業界、今から行くならRubyエンジニアが狙い目?
不況で冷え込んでいたIT業界の転職市場に、回復の兆しが見え始めている。だが、業種や職種によって採用数や条件に大きな差異が生まれている。転職市場の動向を追い、自身のキャリア戦略立案に生かしてほしい。 - 安定版のメジャーバージョンアップ:Ruby 2.0.0がリリース、大規模化対応の機能などを搭載
生誕20年となる節目を迎えて、プログラミング言語「Ruby」の最新版がリリースされた - 新バージョンで何が変わるのか、Rubyはどこへ向かうのか:まつもと×笹田、Ruby 1.9を語る
- いよいよ始まるRuby 1.9への移行:開発コアメンバが語るRubyの今とこれから(前編)
- Rubyの今後の進化の方向性とは?:開発コアメンバが語るRubyの今とこれから(後編)
- 互換性や脆弱性の問題にどう対応していくのか:Rubyが抱える課題、NaClの前田氏が講演
- Rails Hub情報局:「なんでRubyなんか作った!? 迷惑だ!」に対するMatzの答え
- Rails Hub情報局:Rubyはイノベーション言語として選ばれている
- Rails Hub情報局:Rubyのまつもと氏は、一発屋で終わるのか?
- Rails Hub情報局:Rubyに魔法は要らない
- 数々の“スペル”で高度なプログラミング:Rubyの魔術
- 晴読雨読@エンジニアライフ:『たのしい開発 スタートアップRuby』――なぜRubyistたちはあれほど楽しそうなのか
- Ruby 1.9.3に対応:「JRuby 1.7.0」登場、1年半ぶりのメジャーアップデート
JavaVM上のRuby実装「JRuby」の最新版となる「JRuby 1.7.0」が、10月22日にリリースされた。