- Kernelはモジュール
- Objectクラスのメソッド定義は実際はKernelモジュールが行なってインクルードしている
String(1)
Complex(1,2)
Hash(key: :value)
Float(1)
Float("1")
Rational(2, 3)
def hoge
puts __callee__
end
hoge
puts __dir__
def fuga
p __method__
end
alias :bar :fuga
bar
puts `ruby -v`
def check
if block_given?
puts 'block is given.'
else
puts 'block isn\'t given.'
end
end
check{}
a = nil
eval('a = "hoge"; puts a')
eval('def dar; puts "dar";end')
dar
def baz
puts 'alpha'
throw :exit, 25
puts "bravo"
end
ret = catch(:exit) do
baz
puts 'catch'
end
puts ret
puts 'start'
begin
puts 'start1...'
exit
rescue SystemExit => err
puts "end1 with #{err.inspect}"
end
begin
puts 'start2...'
exit
ensure
puts 'end2'
end
puts 'end2+'
begin
puts 'start3...'
exit!
ensure
puts 'end3'
end
puts 'end3+'
raise
raise(ArgumentError)
raise(ArgumentError, "引数のエラーです")