万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

  • ・資産運用おすすめ
    10万円は1000円くらい利益
    資産運用ブログ アセマネ
    • ・寄付お願いします
      YENTEN:YYzNPzdsZWqr5THWAdMrKDj7GT8ietDc2W
      BitZenny:ZfpUbVya8MWQkjjGJMjA7P9pPkqaLnwPWH
      c0ban:8KG95GXdEquNpPW8xJAJf7nn5kbimQ5wj1
      Skycoin:KMqcn7x8REwwzMHPi9fV9fbNwdofYAWKRo

    Rubyのメモ

    File.open("foo.txt", "r") do |io|
      while ! io.eof?
        print io.read(1)
        io.seek(1, IO::SEEK_END)
        #  io.seek(1, IO::SEEK_CUR)
        #  io.seek(1)
        io.seek(1, IO::SEEK_SET) # デフォルトなので上のなにもオプションがないのと同じ
      end
    end
    
    File.open("foo.txt", "r") do |io|
      puts io.gets  # getsは1行読む。
      puts io.read  # readは残りの内容を読む。※getsでカーソルが少し進んでるのでその残り。
      io.rewind # 読み込みを先頭に戻す。 ※先頭というのは行頭ではなく本当にファイルの先頭
      lines = io.readlines # テキストの各行がそれぞれの入った配列にする
    end
    

    openとFile.openとの違い
    → openはパイプOK

    readは今の位置から全て読める。
    readlineは今の行を読む→例外有り
    readlinesは各行を読んで配列に


    ・同じとか似たものたち
    mapとcollect

    detectとfind

    find_allとselect
    URL: http://ref.xaio.jp/ruby/classes/enumerable/find_all

    getsとreadlineの差
    readlineは例外有り、getsは例外なしで、もう読めないときにnilを返す

    ・delete_ifとreject!

    h = {:foo => 1, :bar => 2 }
    h.delete_if {|key, value| true}
    p h
    
    h = {:foo => 1, :bar => 2 }
    h.reject! {|key, value| true}
    p h