2/5 学習記録

学習したこと - メンバ変数とは

  • アクセサメソッドの復習
class User
  def initialize(name)
    @name = name
  end

  def name # arr_reader部分 .nameで呼び出し
    @name
  end

  def name = (value) #attr_writer部分 name= で書き込み
    @name = value
  end

は以下と同じ

class User

  attr_accessor :name

  der initialize(name)
    @name = name
  end

end
  • pushメソッド :配列後尾に要素追加
  • transposeメソッド:行列を入れ替える/.to_hを使うことでハッシュに変換できるソース
  • zipメソッド:別々の配列をハッシュにまとめる
  • flattenメソッド:入れ子になった配列を平坦にする,mapと組み合わせたflat_map
  • injectメソッド:
numbers = [1,2,3,4]
sum = numbers.inject(0){ [result,n] result + n }
sum #=> 10

0をresultの初期値として、ブロックの第2引数(配列の各要素)との戻り値をresultに返して繰り返す。

  • each_slice(n) : n個の要素ずつブロックに渡して、配列にして返す。
  • each_slice(n).to_a : 配列をn個の要素に分けるて配列にして返す。
  • 配列[n..m]: 配列のn~m番目の配列を取り出す。 頭からnこの場合は配列.first(2)
  • each_with_index : ブロック|n,i|の第2引数は0から始まるインデックス
  • pushは文字列を指定、複数要素の配列を追加する場合は'concat'メソッド
  • select/find : 配列の中の要件を満たすものを抽出、rejectはその逆
  • たぶ文字の表記はバックスラッシュ記法で\t。""で囲まなければバックスラッシュが認識されない。  ''の場合はバックスラッシュのまま表現できる。
  • 文字列の足し算と同じように * を使えば複数回入力できる。
  • max:配列の最大値、引数nをつけると最大からn個を配列で返す。ブロックに渡した場合ブロックの戻り値(配列を)を
  • <=> : 基本的な比較演算子 左が大きければ1、等しければ0、右が大きければ-1
  • floor : 切り捨て(Floatクラス) 引数nで少数点以下n桁を出力
  • ceil : 切り上げ(Floatクラス)
  • round : 四捨五入 マイナス引数で整数分四の捨五入。
  • 命名規則:メソッド名、変数名はすべて小文字、スネークケース

クラスを使う

  • クラスを定義 : データの種類/キーを定義
  • データを作成 : インスタンスを生成し、配列にする
  • インスタンスの中のメソッドを呼び出してメソッドを作る
  • あるいはクラスの中にメソッドを作っておく