How to read lines from file into array?

前端 未结 1 656
孤独总比滥情好
孤独总比滥情好 2021-02-04 00:59

This is what I want to do, but with a one-liner, if possible:

lines = Array.new
File.open(\'test.txt\').each { |line| lines << line }

Pos

1条回答
  •  小蘑菇
    小蘑菇 (楼主)
    2021-02-04 01:40

    Do as below :

    File.readlines('test.txt')
    

    Read documentation :

    arup@linux-wzza:~> ri IO::readlines
    
    = IO::readlines
    
    (from ruby site)
    ------------------------------------------------------------------------------
      IO.readlines(name, sep=$/ [, open_args])     -> array
      IO.readlines(name, limit [, open_args])      -> array
      IO.readlines(name, sep, limit [, open_args]) -> array
    
    ------------------------------------------------------------------------------
    
    Reads the entire file specified by name as individual lines, and
    returns those lines in an array. Lines are separated by sep.
    
      a = IO.readlines("testfile")
      a[0]   #=> "This is line one\n"
    
    If the last argument is a hash, it's the keyword argument to open. See IO.read
    for detail.
    

    Example

    arup@linux-wzza:~/Ruby> cat out.txt
    name,age,location
    Ram,12, UK
    Jadu,11, USA
    arup@linux-wzza:~/Ruby> ruby -e "p File::readlines('./out.txt')"
    ["name,age,location\n", "Ram,12, UK\n", "Jadu,11, USA\n"]
    arup@linux-wzza:~/Ruby>
    

    0 讨论(0)
提交回复
热议问题