LoginSignup
0
0

More than 1 year has passed since last update.

3/25 Ruby入門remained 基礎知識編

Posted at

個人的リマインド用

初歩

irb → 簡易的にRubyを実行できる
ri → ドキュメントを見ることができる

コメントと出力

=begin
~この中をコメントに~
=end

print ~ (オブジェクトをstringに)
puts ~ (改行がつく)
p ~ (デバッグ用)

変数と定数

変数は英小文字か_で始めなければならない
例: msg = "こんにちは"

定数は全部大文字
例: VERSION = 1.1
※Rubyは定数を書き換える際、警告は出すがそのまま実行されるので注意

オブジェクト

Rubyは全部object
例: string(stringクラス), floot(flootクラス)

(インスタンス→)"Hello world".length(←メソッド)

method

様々なメソッド

54.8.class(所属しているクラスが見れる)
54.8.methods(使えるメソッドが見れる)

四則演算 + - * / % ** などなど

分数の計算→ Rational(2, 5) == 5分の2
※ちなみに2/5rてな感じに短くかける

""と''

””と’’の違い

""は特殊文字と式展開ができる
特殊文字→文字列途中に\nで改行、\tでタブなどなど
※\はoption + ¥キー

式展開→"#{300 * 300}だったり#{変数名}"文字列の中で式を展開したり変数を表示できる

"hello" + "world" → "helloworld"
"hello" * 10 → "Hello"を10回表示

!と?

!や?がついたmethod

!がついたmethodは破壊的なメソッド
例: .upcase(大文字にするメソッド)の場合
.upcase!(大文字を返した上で書き換える)→これを破壊的なメソッドという

他にも.downcase(全小文字)や.reverse(文字を逆に)などがある
?がついたmethodは真偽値を返す
例: .empty(空)や.include(含む)
name.empty?(空ですか?), name.include?("g")(gを含んでいますか?)

配列

colors = ["red", "blue", "yellow"]

アクセス
colors[0(添字)] → "red"
colors[-1] → "yellow"
colors[0 .. 2] → 全部
colors[0 ... 2] → "red", "blue"(2の直前まで)
colors[5] → nil(何もないと言うオブジェクト)
書き換え 
colors[0] = "pink"
colors[1 .. 2] = ["green", "black"]
*後ろに追加* colors.push("gold") == colors << "silver"

※他にも.size(配列の数)や.sort(並び替え)などのmethodもあるよ

ハッシュ

ハッシュ(jsでいうobject)

scores = {tanaka: 200, sato: 100}

アクセス方法
scores[:tanaka]
書き換え方法
scores[:sato] = 600

様々なmethod
.size(ハッシュ内の数) .keys(キーだけ取る) .values(バリューだけ取る)
.has_key?(:tanaka)(このキーありますか?)

変換

変換
.to_s(文字列)
.to_i(整数)
.to_f(浮動小数点)
.to_a(配列)
.to_h(ハッシュ)

""と''の書き換え

""から%()に,''から%q()に

"Hello" == %(Hello)
'Hello' == %q(Hello)
メリットは\nとかを使う時に分かりやすい

他にも
["red", "blue"] == %W(red, blue)
['red', 'blue'] == %w(red, blue)

埋込

埋込 "文字列" % 値

"name: %s" % "tanaka" → "name: taguchi"
"name: %10s" % "tanaka" → "name: (10桁空) tanaka"
"name: %-10s" → "name: tanaka (10桁空)"

%d(整数) %f(浮動小数点)
"id: %05d(5桁にして0で埋める), rate: %10.2f(左に10桁空きで小数点以下2桁) % [355, 3.284]
→"id: 00355, rate: (10桁空き) 3.28"
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0