Think Twice
IT技術メモ | Rubyのメモ
Created: 2020-12-03 / Updated: 2021-09-08

Rubyの文法


ここではRubyの文法を簡単にまとめておきます。

目次


はじめに - Hello World

Copy
puts "Hello World"
puts 'こんにちは'
出力結果
Copy
Hello World
こんにちは

はじめに - コメント

Copy
# ここがコメント
# puts "コメント部分は処理されない"

型 - 数値型

整数(Integer)

Copy
num1 = 1234 # 正の整数
num2 = -1234 # 負の整数
# 数値の途中のアンダーバー(_)は無視される
num3 = 1_234_000

puts num1
puts num2
puts num3
出力結果
Copy
1234
-1234
1234000

10進数、16進数、8進数、2進数

Copy
num1 = 0d9999      # 10進数 (0dで始まる数値は10進数とみなされる)
num2 = 0xffff      # 16進数 (0xで始まる数値は16進数とみなされる)
num3 = 0o777       # 8進数 (0oで始まる数値は 8進数とみなされる)
num4 = 0b11000100  # 2進数 (0bで始まる数値は 2進数とみなされる)

puts num1
puts num2
puts num3
puts num4
出力結果
Copy
9999
65535
511
196

浮動小数点(Float)

Copy
num1 = 1.234
num2 = 1.2e3  # 指数表記 (1.2 × 10^3)

puts num1
puts num2
出力結果
Copy
1.234
1200.0

型 - 論理型

論理型(Boolean)

Copy
bool1 = true   # TrueClassの唯一のインスタンス
bool2 = false  # FalseClassの唯一のインスタンス

puts bool1
puts bool2
puts bool1.class == TrueClass
puts bool2.class == FalseClass
出力結果
Copy
true
false
true
true

型 - 文字列型

そのうち書きます。

基礎文法 - 条件分岐 - if文

if文
Copy
if 条件式 then
  # 条件式が真の時に実行する処理1
  # 条件式が真の時に実行する処理2
end

条件式に後ろが改行の場合はthenを省略できます。

if文 (then省略)
Copy
if 条件式
  # 条件式が真の時に実行する処理1
  # 条件式が真の時に実行する処理2
end

条件式が偽の場合に別の条件を指定するにはelsifを使います。
else ifではないのでご注意下さい。

if-elsif文
Copy
if 条件式1
  # 条件式1が真の時に実行する処理1
  # 条件式1が真の時に実行する処理2
elsif 条件式2
  # 条件式2が真の時に実行する処理1
  # 条件式2が真の時に実行する処理2
end

条件式が偽の場合に実行する節ブロックを指定するにはelseを使います。

if-else文
Copy
if 条件式
  # 条件式が真の時に実行する処理1
  # 条件式が真の時に実行する処理2
else
  # 条件式が偽の時に実行する処理1
  # 条件式が偽の時に実行する処理2
end

elsifelseは組み合わせられます。

if-elsif-else文
Copy
if 条件式1
  # 条件式1が真の時に実行する処理1
  # 条件式1が真の時に実行する処理2
elsif 条件式2
  # 条件式2が真の時に実行する処理1
  # 条件式2が真の時に実行する処理2
else
  # 条件式1,条件式2がともに偽の時に実行する処理1
  # 条件式1,条件式2がともに偽の時に実行する処理2
end

ソース

基礎文法 - 条件分岐 - unless文

あとで書きます。お待ちください。

基礎文法 - Truthy

Rubyでは、条件式などで偽とみなされる値(falsey value)をnilfalseのみと定めていて、
それ以外のオブジェクトはすべて真とみなされる値(truthy value)となります。

外部ライブラリの読み込み - require

requireは外部ファイルを読み込む関数です。標準ライブラリや自分で書いたスクリプトなどを読み込みます。
loadとほぼ同じ機能を提供しますが、require一度読み込まれたスクリプトは再読み込みしない点が異なっています。

require (標準ライブラリを読み込む)
Copy
require 'ライブラリ名'

自分で書いたスクリプトを読み込む場合は、./から始め相対参照とし、拡張子の.rbは省略します(書いてもOKです)。

require (自分で書いたスクリプトを読み込む)
Copy
require './path/to/file'

関連項目

外部ライブラリの読み込み - load

loadは外部ファイルを読み込む関数です。標準ライブラリや自分で書いたスクリプトなどを読み込みます。
requireとほぼ同じ機能を提供しますが、loadスクリプトを再読み込みする点と、拡張子の.rbが省略できないところが異なっています。
ずっと動かしているプログラムなどで、参照しているスクリプトだけ差し替えて動作させる場合などは、loadを使うのだと思います。

load (標準ライブラリを再読み込み)
Copy
load 'ライブラリ名.rb'

自分で書いたスクリプトを読み込む場合は、./から始め相対参照とします。

load (自分で書いたスクリプトを再読み込み)
Copy
load './path/to/file.rb'

関連項目

外部ライブラリの読み込み - include

あとで書きます。

関連項目

外部ライブラリの読み込み - prepend

あとで書きます。

関連項目

外部ライブラリの読み込み - extend

あとで書きます。

関連項目


参考

参考書籍

参考サイト

ソース