HelloWorld
sample.rb
puts "HelloWorld"
出力結果
HelloWorld
変数
文字列を出力
sample.rb
a = "HelloWorld"
puts a
出力結果
HelloWorld
数字を出力
足し算を出力
sample.rb
a = 1 + 2
puts a
実行結果
3
引き算を出力
sample.rb
a = 4 - 2
puts a
出力結果
2
掛け算を出力
sample.rb
a = 4 * 2
puts a
出力結果
8
割り算を出力
sample.rb
a = 4 / 2
puts a
出力結果
2
余りを出力
sample.rb
a = 5 % 2
puts a
出力結果
1
if文
if文
sample.rb
age = 23
if age >= 20 then
puts "お酒が飲めます"
end
出力結果
お酒が飲めます
if文結果受け取り
sample.rb
age = 23
result = if age >= 20 then
"お酒が飲めます"
end
puts result
出力結果
お酒が飲めます
if-else文
sample.rb
age = 18
if age >= 20 then
puts "お酒が飲めます"
else
puts "お酒が飲めません"
end
出力結果
お酒が飲めません
if-elsif文
sample.rb
age = 18
if age >= 20 then
puts "お酒が飲めます"
elsif age >= 0 then
puts "お酒が飲めません"
else
puts "数字が不正です"
end
出力結果
お酒が飲めません
繰り返し
times
sample.rb
10.times do
puts "Hello"
end
出力結果
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
times index
sample.rb
10.times do |count|
puts count
end
出力結果
0
1
2
3
4
5
6
7
8
9
for
sample.rb
for i in 1..10 do
puts i
end
出力結果
1
2
3
4
5
6
7
8
9
10
for 配列
sample.rb
array = ["apple", "banana", "cherry", "drian"]
for item in array do
puts item
end
出力結果
apple
banana
cherry
drian
for next
sample.rb
for i in 1..10
if i%2 == 0
next
end
puts i
end
出力結果
1
3
5
7
9
for break
sample.rb
for i in 1..10
if i == 5
break
end
puts i
end
出力結果
1
2
3
4
while
sample.rb
count = 0
while count < 5 do
puts count
count = count + 1
end
出力結果
0
1
2
3
4
each
sample.rb
array = ["apple", "banana", "cherry", "drian"]
array.each do |fruit|
puts fruit
end
出力結果
apple
banana
cherry
drian
メソッド
引数無しメソッド
sample.rb
def greet
puts "Hello"
end
greet
出力結果
Hello
()をつけても可能
sample.rb
def greet
puts "Hello"
end
greet()
出力結果
Hello
引数有りメソッド
sample.rb
def greet(a)
puts "Hello #{a}"
end
greet "Tom"
出力結果
Hello Tom
()省略可能
sample.rb
def greet a
puts "Hello #{a}"
end
greet "Tom"
出力結果
Hello Tom
引数二つ
sample.rb
def greet a,b
puts "Hello #{a} #{b}"
end
greet "Tom", "Mike"
出力結果
Hello Tom Mike
戻り値あり
sample.rb
def greet a,b
"Hello #{a} #{b}"
end
puts greet "Tom", "Mike"
出力結果
Hello Tom Mike
一番最後の値が戻り値となる
sample.rb
def greet a,b
a = "!" + a + "!"
b = "!" + b + "!"
"Hello #{a} #{b}"
end
puts greet "Tom", "Mike"
出力結果
Hello !Tom! !Mike!
デフォルト引数
sample.rb
def greet a,b = "Mike"
"Hello #{a} #{b}"
end
puts greet "Tom"
出力結果
Hello Tom Mike
このようにも書ける
sample.rb
def greet a,b: "Mike"
"Hello #{a} #{b}"
end
puts greet "Tom"
出力結果
Hello Tom Mike
キーワード付き引数
sample.rb
def greet a,b: "Mike",c: "Mary"
"Hello #{a} #{b} #{c}"
end
puts greet "Tom", c:"Ted"
出力結果
Hello Tom Mike Ted
クラス
インスタンス作成
sample.rb
class Dog
def greet
"わんわん"
end
end
dog = Dog.new
puts dog.greet
出力結果
わんわん
インスタンス変数
sample.rb
class Person
def name
@name
end
def name=(name)
@name = name
end
end
a = Person.new
a.name = "taro"
b = Person.new
b.name = "hanako"
puts a.name
puts b.name
出力結果
taro
hanako
クラス変数
sample.rb
class Foo
@@instance = "Hello"
def ins
@@instance
end
def ins=(ins)
@@instance = ins
end
end
a = Foo.new
a.ins = "Hello Tom"
puts "a = #{a.ins}"
b = Foo.new
b.ins = "Hello Mary"
puts "b = #{b.ins}"
puts "a = #{a.ins}"
出力結果
a = Hello Tom
b = Hello Mary
a = Hello Mary
クラス初期化
sample.rb
class Person
def initialize(name)
@name = name
end
def name
@name
end
end
a = Person.new("Taro")
puts "a = #{a.name}"
b = Person.new("Hanako")
puts "b = #{b.name}"
出力結果
a = Taro
b = Hanako
例外
例外を発生させる
sample.rb
puts "Hello"
raise "Exception発生"
出力結果
Hello
Traceback (most recent call last):
sample.rb:2:in `<main>': Exception発生 (RuntimeError)
例外を捕捉する
sample.rb
puts "Hello"
begin
raise "Exception発生"
rescue => error
puts error
end
puts "Finish"
出力結果
Hello
Exception発生
Finish