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()
例外処理
標準エラー出力 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