おさえておくべきRuby演算子の文法・使い方まとめ【優先順位/代入/範囲/論理演算】

eyecatch_template
佐野裕史
書いた人 佐野裕史

Rubyでおさえておくべき演算子について、文法や便利な使い方をまとめました。

演算子一覧

優先順位が高い順に羅列
[code]
::
[]
+(単項) ! ~
**
-(単項)
* / %
+ –
<< >>
&
| ^
> >= < <=
<=> == === != =~ !~
&&
||
.. …
?:(条件演算子)
=(+=, -= … )
not
and or
[/code]

代入演算子

代入

代入には「=(イコール)」を使います。
[code]
samurai = ruby
samurai[0] = ruby
samurai.ruby = rails
[/code]

自己代入

[code]
samurai += 46 # samurai = samurai + 46 と同じ
samurai ||= 46 # samurai = samurai || 46 と同じ
[/code]
自己代入可能な演算子
[code]
+, -, *, /, %, **, &, |, ^, <<, >>, &&, ||
[/code]

多重代入

[code]
samuria, ruby, rails = 1, 2, 3
samurai, ruby = [1, 2] # samurai = 1; ruby = 2 と同じ
samurai, ruby = 1, 2 # samurai = 1; ruby = 2 と同じ
samurai, ruby = 1 # samurai = 1; ruby = nil と同じ
samurai, ruby, rails = 1, 2 # samurai = 1; ruby = 2; rails = nil と同じ
samurai, ruby = 1, 2, 3 # samurai = 1; ruby = 2 と同じ
samurai = 1, 2, 3 # samurai = [1, 2, 3] と同じ
*samurai = 1, 2, 3 # samurai = [1, 2, 3] と同じ
samurai, *ruby = 1, 2, 3 # samurai = 1; ruby = [2, 3] と同じ
[/code]

範囲演算子

..(ドット2つ)

second自体の値は含まれない。
[code]
1..10 # 1以上10未満
"a".."z" # aからyまでのアルファべット
[/code]

…(ドット3つ)

second自体の値を含む。
[code]
1..10 # 1以上10以下
"a".."z" # aからzまでのアルファべット
[/code]

論理演算子

&&、and

[code]
samurai && ruby
samurai and ruby
[/code]

||、or

[code]
ruby || php
ruby or php
[/code]

!、not

[code]
!samurai
not samurai
ruby != samurai
[/code]

三項演算子

?、:

基本形
[code]
条件 ? 式1 : 式2
[/code]
[code]
samurai = bushi < 46 ? "ruby" : "rails"
[/code]

関連記事






Rubyカリキュラム無料公開中!
この記事はRuby入門完全攻略ガイド【基礎学習/アプリ開発/仕事獲得】の一部になります。このカリキュラムは、プログラミング入門者が、基礎学習からアプリ開発、さらには仕事獲得まで体系的に学べる内容となっています。

Ruby学習に必要な情報を一つにまとめていますので効率よくRubyを学ぶことが出来ます。この機会に是非活用していただければと思います。


33歳、未経験だった僕がフリーエンジニアになれた理由
現在フリーでWEBエンジニアをやられている濱口直行さん。33歳で、プログラミングを学び始め、約半年という短い期間で独立までされた学習ログを余すことなくインタビューさせていただきました。

プログラミングを学習中の方はもちろん、独立をお考えの方まで幅広く活用できる記事になっています。この機会に是非活用していただければと思います。


Rubyを最短で習得したい方へ
近年では様々なWEBサービスが流通するようになりました。

WEBサービスの普及が進むにつれて、それらを素早く開発するのに長けたRubyの人気は今後さらに増し、Rubyエンジニアの需要も自ずと増えることは間違いなしでしょう。

元々ITリテラシーの高い方や他言語を習得している方であれば、独学でRubyを習得することが可能です。

ただし、プログラミング学習をしている方の多くは

「自分に合った教材が見つけられずに挫折してしまった」
「勉強のための勉強になってしまい、ゴールが見えない」
「情報が少なくどう調べればいいかわからない」
「エラーを解決するのに何日もかかってしまう」
このような悩みを抱えたまま挫折してしまうのが現実となっています。

  • もう挫折したくない
  • 本業と両立しながら、好きな時間で自分のペースで勉強を続けていきたい
  • 自分だけのカリキュラムで効率的に勉強したい
  • WEBアプリケーション開発までしっかりサポートして欲しい
そんな方はお気軽に侍エンジニア塾までご相談ください。

お一人お一人に専属のインストラクターがつくので、初心者の方がつまづきがちな、「CookPad」、「Wantedly」、「食べログ」のようなWEBアプリケーション開発方法もスムーズに学習することできます。

実際にオリジナルWEBアプリを開発し、成果物として認められて仕事獲得に成功した塾生は数多くいます。

このように、オリジナルアプリ開発から仕事獲得まで徹底的にサポートすることでプログラミング初心者の方でも安心して基礎学習に取り組むことができます。

まずは『無料体験レッスン』で、弊社のコンサルタントと一緒にあなた専用の学習方法やカリキュラムを考えてみませんか?

Rubyならではの学習方法や、現役フリーランスRubyエンジニアから貴重なアドバイスを受けることができます。

詳しくは下の画像から弊社サービス内容をご確認ください。

ruby_a2

学習者インタビュー

32歳ベンチャー企業元役員が起業してプログラミングを学んだ話
ヨガスタジオのマネージャーだった私が3ヶ月でWeb制作をマスターするためにした”たった1つ”のこと
Uターン女子がRubyを学んで理想のライフスタイルを手に入れた話
ダメ営業マンがわずか3ヶ月でエンジニアデビューできた理由

プログラミング学習者必見

専属講師に質問し放題、レッスンし放題、最短1ヶ月でフリーランスエンジニア
プログラミング学習カリキュラム無料公開中
Ruby学習カリキュラム無料公開中
 1記事最大11,000円!テックライター募集


LINEで送る
Pocket

この記事が気に入ったら
いいね!をしてフォローしよう

最新情報をお届けします

書いた人

佐野裕史

佐野裕史

侍エンジニア塾インストラクター。
主に技術担当をしています。

【経歴】
力仕事、接客業、営業職など様々な業界を経てIT業界に参入。
IT未経験からスタートし、1ヶ月で仕事獲得に奇跡的に成功。
1年半後にフリーランスに転身。

Web開発を主に行っており、得意とするのはRails、Ruby。
【技術スキル】
Rails、Ruby、Swift、Java(Android)、JavaScript

【趣味、趣向】
麻雀
MTG(マジックザギャザリング)
ダーツ、卓球、野球、ボウリングなどの球技

【Facebookページ】
https://www.facebook.com/hiroshi.sano.7
【Twitter】
プログラミング講師@佐野裕史
自分でプログラミングができない人のために情報を発信しています。
お気軽にフォローください。