万年素人からHackerへの道

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

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

    splitの第2引数 Ruby

    splitの第2引数は分割数である。

    しかし、

    p "foo\nbar\nbuz".split(/\n/, 0)
    => ["foo", "bar", "buz"]
    

    ↑0の場合は分割数が0なのでなにもしないのではなく普通に分割。

    p "foo\nbar\nbuz".split(/\n/, 2)
    ["foo", "bar\nbuz"]
    

    ↑分割数を満たさないときは、分割されずにそのまま

    p "foo\nbar\nbuz".split(/\n/, 9)
    => ["foo", "bar", "buz"]
    

    ↑分割できる数を明らかに上回るときは、特にエラーにはならない。

    ここから特別パターン

    p "foo\nbar\nbuz\n\n".split(/\n/)
    => ["foo", "bar", "buz"]
    

    ↑指定しないとき、または0を指定したときは、配列の末尾に並ぶ空文字列の要素が省略される

    p "foo\nbar\nbuz\n\n".split(/\n/, -1)
    => ["foo", "bar", "buz", "", ""]
    

    ↑この場合マイナスの場合はきちんと空文字も出てくれます。