オブジェクト
p "hello world"
p "hello world".length
# 結果は下記のように返してきます。
$ ruby hello.rb
11
- メソッドは、クラスという中に定義されております。
- 文字列に関係するメソッドは「String」クラスで定義されいる。
- 公式サイトのドキュメントの中にクラス一覧があります。(英語)
数値オブジェクト
x = 10
y = 20.5
z = 1/3r
p x % 3
p x ** 3
p z * 2
結果:
$ ruby hello.rb
1 #10÷3=3...1
1000 #10×10×10
(2/3) #1/3 ×2
- 自己代入とは、x = x + 5 という計算のことをいいます。
その際は、下記のような記述をします。
x += 5
p x
結果:15
- 数値に関しては Numeric クラスというものを定義されている
p y.round
結果:21
文字列オブジェクト
ダブルコーテーションとシングルコーテーションの違いについて
name = "taguchi"
x = "hello world, #{name}"
y = 'hello world, #{name}'
puts x
puts y
結果:
hello world, taguchi
hello world, #{name}
- 特殊文字(\n:改行 \t:tab)についても違い
x = "he\tllo\n world"
y = 'he\tllo\n world'
puts x
puts y
結果:
he llo
world
he\tllo\n world
puts "hello world" + " taguchi"
puts "hello " * 5
結果:
hello world taguchi
hello hello hello hello hello
- メソッドに破壊的メソッド「!」がついているものは、元のデータ自体も変えてしまう。
s = "taguchi"
puts s.upcase!
puts s
結果:
TAGUCHI
TAGUCHI
# upcaseというものは、大文字にするものメソッドだが
upcase!になると、元のデータも大文字になるので、
それ以降はすべて大文字になる。
- 真偽値を返すメソッド「?」は,tureかfalseを返す。条件判定等に使われる。
s = "taguchi"
puts s.empty?
結果:
false
s = ""
puts s.empty?
結果:
true