Ruby

配列・ハッシュ等

sort sort_by

はハッシュを配列にする

splitは配列にする each_with_indexでインデックスと配列ができる

each記法

numbers =[3,1,2]
results=[]
numbers.each do |item|
  results.push(item*10)
end

puts results

map記法

numbers=[3,1,2]
 numbers.map do |item|
 item*10
end

puts numbers

継承

@'で始まる変数はインスタンス変数であり、特定のオブジェクトに所属しています。インスタンス変数はそのクラスまたはサブクラスのメソッドから参照できます。初期化されていないインスタンス変数を参照した時の値はnilです。

オーバーライド

    def initialize(name)
        @name = name
    end
    def initialize()
        super = ("任意の名前")
    end
module_functionとして宣言されたメソッドはクラスにincludeできない
module_functionの定義に()はつけられない
 module Greeting
    def say_hello()
        puts "hello world"
    end
    def say_morning()
        puts "good morning! world!"
    end
    module_function :say_hello
end
class Player
    include Greeting
    def introduce()
        puts "私は、勇者です"
    end
end
Greeting.say_hello()
player = Player.new()
player.introduce()
player.say_morning()

例外処理

f:id:shiness:20210208231931p:plain

標準エラー出力 STDERR.puts / STDERR.print
puts 1
begin
    number = 0
    answer = 100 / number
    puts answer
rescue ZeroDivisionError => e
    puts "0では割り算できません"
    # puts e.message
    # p e.backtrace
    STDERR.puts e.backtrace
ensure
    puts 2
end