2/13

  • wcコマンドとはテキストファイルの行数や単語数、文字数を数えるコマンド。単語は空白や改行文字で区切られたものを数える。

    • c/--bytes バイト数を表示
    • m/--chars 文字数を表示 (マルチバイトに対応)
    • l/--lines 改行の数を表示
    • w/--words 単語数を表示
    • L/ --max-line-length 最も長い行の長さを表示
  • 三項演算子

var = "文字列"

var.class == String? "varはStringです" : "varはStringではありません"
  • 後置if
age = 21
puts "adult!" if age >= 18 #=> adult!
  • pluckメソッド :配列内のハッシュのキーを指定して、それぞれのハッシュから取り出し配列にして返す。
  b = [{name: 'b1', address: 'b1@example.jp'}, {name: 'b2', address: 'b2@example.jp'}]
  > b.pluck(:address) 
  # => ["b1@example.jp", "b2@example.jp"]
  • プルリクエストの取り消し pull reqestの画面の一番下にコメントしてclose and commentをクリック

  • class TrueClass/FalseClass true/falseはそれぞれのクラスの唯一のインスタンス

  • 配列から文字列への変換 ["ls4_test.rb"].to_s"[\"ls4_test.rb\"]"に変換される

  • テストコードでコード内のメソッドを確認

2/15 - パース = 構文解析

  • ClassIO : 基本的な入出力機能のためのクラス

  • File.statとFile::Statの違いは何?

Rubyで容量やパーミッションなどファイルの情報を取得するにはFile.statメソッドを使用する。File.statメソッドはファイルの情報を格納した、File::Statオブジェクトを返す。

  • File:Statクラス オブジェクトを作るときはFile:Stat.new(引数) メソッドを使うときは、File.stat(引数)

  • クラス File::StatSリファレンス

    • 特異メソッド ファイルの情報を格納したオブジェクトのクラス new(path) -> File::Stat pathに関するFile::Statオブジェクトを生成して返す。File.statと同じ

    • inspectメソッド オブジェクトを文字列で返す。


  • to_hメソッド 配列の中の配列をキーと値に変換
  human = [["name", "pikawaka"], ["age", 25]]
human.to_h
=> {"name"=>"pikawaka", "age"=>25}

シンボルでも指定可能

human = [[:name, "pikawaka"], [:age, 25]]
human.to_h
=> {:name=>"pikawaka", :age=>25}
  • 文字の削除

    • delteメソッドは指定した文字列ではなく、文字列に含まれるすべての文字を削除する
  • ls -lコマンドのパーミッションの後ろにつく記号

    (スペース) 通常のUnixのアクセス権限だけが有効 .(ドット) SELinuxのアクセス権限が付いている +(プラス) その他のアセス権限が付いている。例えば、sambaで公開しているファイルにWindows上で権限設定したりすると付く。

  • @?は

File::Statの値を変換するメソッドをつくる

e = "#{a.ftype}#{a.mode} #{a.nlink} #{a.uid} #{a.gid} #{a.size} #{a.mtime}"
  • ファイルタイプ
def ftype(name)
{ 
  'directory' =>  'd',
  'flie' => '-'
}[name]