16
17

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

rubyの基礎文法 メモ

Last updated at Posted at 2015-08-12

夏休みにrubyやることになったので、自分メモを記述していく

公式サイト
https://www.ruby-lang.org/ja/
コアリファレンス
http://ruby-doc.org/core-2.2.2/

print

print "hoge" # 終わったあとに改行がない
puts "hoge" # 改行がある
p "hoge" # データの形式がわかるように表示

定数

全部大文字で書けばOK

文字列オブジェクト

  • ダブルコーテーションとシングルコーテションで異なる点に注意する
name = "hoge"
x = "my name is #{name}\n" # 変数展開、特殊文字(\t \n)
y = 'my name is #{name}\n' # なんもならずに、そのまま表示される

破壊的メソッド、真偽値を返すメソッド

* 破壊的メソッドを使うと元の変数の値が書き換わる。
s = "hoge"
s.upcase!
puts s
=> "HOGE"
s = ""
x =  s.empty? # ⇛空文字か検査
puts x
⇛ true

配列オブジェクト

array = [5, 8, 4]

p array[0..2] # 要素の0から2まで
⇛[5, 8, 4]

p array[0...2] # 0を起点に2つ
⇛[5, 8]

p array[-1] # 最後の1つ
⇛4

p array[1, 2] # 1番目の要素から2つぶん
[8, 4]


array  = [5, 8, 4]
array[0...2] = [1, 2]
p array
⇛[1, 2, 4]

(要素の削除)
array[0, 2] = []
p array
⇛[4]
# なんか違和感あるけど、初期化される

(配列の末尾に要素追加)
array.push(100)
とか
array << 100 << 102

ハッシュオブジェクト

(波括弧ですよ!!)

array = {"hoge" => 200, "huga" => 300}
p array["hoge"]
⇛200

array = {:hoge => 200, :huga => 300}
p array[:hoge]
⇛200

array = {hoge: 200, huga: 300}
p array[:hoge]
⇛200

p array.has_key?(:hoge)
⇛true

%記法

下記が同じ感じで扱える
s = "ho\"ge"
s = %Q(ho"ge)
s = %(ho"ge) # Qは省略可能

s = 'ho\"ge'
s = %q(ho"ge)

a = ["a", "b", "c"]
put a
⇛["a", "b ", "c"]

a = %W[a b c]
put a
⇛["a", "b ", "c"]

真偽値

false : false nil(オブジェクトが存在しない)
true それ以外(0 ''を含む)

loop 処理

3.times do
	put "hoge"
end

3.times do |i|
	put "#{i}: hoge"
end

ループ制御

break
next # 他の言語でいうcontinue

each

["hoge", "fuga", "pero"].each do |x|
    puts x
end

クラス

class User
	@@ count  = 0 # クラス変数

	def initialize(name)
		@name = name #インスタンス変数
		@@count  += 1
	end

	def sayHoge # インスタンスメソッド
		puts "hogehoge"
	end

	def Person.SayFuga # クラスメソッド
		puts "fugafuga"
	end

	attr_accessor : name # インスタンス変数nameに対するアクセサ

	=begin
	attr_reader : name # ゲッタ
	attr_writer : name # セッタ
	=end
end
  • newしてみる
    tom = User.new("tom")

  • クラスメソッド呼ぶ
    User.sayFuga()

継承

class SuperUser < User

16
17
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
16
17

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?