Ruby 初めのいーっぽ 【速習編】
Ruby 初めのいっーぽ
MENTAのメンティさん向けの速習メモ
全てがオブジェクト
Ruby はオブジェクト指向言語のため、全てがオブジェクト
- 文字列、配列、数値やnil、trueとかも含めてぜーんぶオブジェクト
オブジェクト.メソッド 引数
みたいな感じでメソッドを呼び出すことができる
例: 文字列 1.to_s
, nil nil.to_s
などなど
変数名は小文字のスネークケースで
例: special_price = 200
のような感じで _ で小文字を区切る
- 変数名には、小文字アルファベットと数字、アンダースコアなどが使える
- 数字から始まる変数名は使えない
- 漢字とかひらがなも使えるが一般的ではない
文字列はシングル or ダブルクオーテーションで囲む
- ダブルクオーテーションで囲むと式展開できるようになる
puts "hello #{name}"
のようにname
の内容を展開できる
数値
- アンダースコアを含めることができて無視されるので桁区切りに便利
1_000
は1000
と認識される
- 他の言語でいう、インクリメントなどの
++
,--
はない+=
,-=
はあるので使える- 例:
n += 1
など
- 丸め誤差に注意
0.1 * 0.3 == 0.3
は falseになる- rational クラスを使うといい
- 例:
0.1r * 0.3r == 0.3
は true
真偽値
if文
elseif
はelsif
となるので注意- elsif や elseは省略可能
- 後置if が便利
- 例: 1日ならポイント五倍
point *= 5 if day == 1
てな感じ
- 例: 1日ならポイント五倍
メソッドの定義
- 戻り値
- return は使わない方が主流
- 最後に評価された式がメソッドの戻り値となる
- return はメソッドを途中で抜けたいときに使われることが多い
- 引数がない場合は メソッド名の後に
()
をつけない方が主流
文字列
- %記法を使うとシングル ダブルクオーテーションをエスケープしなくても使える
%q!
はシングル%Q!
はダブルクオーテーションで囲んだのと同じくなる!
以外でも?
とか^
とか任意の記号を区切り文字に使える- かっこを区切り文字に使った時は対応する閉じ括弧になる
- 例:
puts %q! He said, "Hello."!
=>He said, "Hello."
- 例:
puts %Q< #{name} said, "Hello.">
=>Taro said, "Hello."
unless文
- if文と反対の意味をもつ文
- ただし、elsifに対応する elsunless は存在しない
- 条件文が偽になった時だけ処理を実行する
例: これらは同じ意味
status = 'error' if status != 'ok' '異常' end
status = 'error' unless status == 'ok' '異常'
case文
- 複数条件を指定する時は、elsifをなんども書くよりもcase文で書いた方がシンプル
- when節に複数の値を指定できる
例:
name = '太郎' case name when '太郎', 'Taro' 'とっとこハム' when '次郎', 'Jiro' 'ラーメン' else '謎だ' end
三項演算子
式 ? 真だった時の処理 : 偽だった時の処理
と書ける- 例:
n >= 18 ? '成人やん' : '未成年やん'
requireとload
- ライブラリなどを読み込む時に requireを使う
require ライブラリ名
などと使う- 再度 requireを しても読み込み済みのためfalseが返る
load
を使うとそのファイルを呼ぶごとに毎回指定したファイルを読み込むload ファイル名.rb
などと使う- load は
.rb
を省略できない