代码之家  ›  专栏  ›  技术社区  ›  Verhogen

Ruby将字符串转换为文件

  •  11
  • Verhogen  · 技术社区  · 15 年前

    是否可以将字符串转换为文件而不将其写入磁盘?

    我想在任何地方使用一个文件字符串:

    input = "123"
    if (ARGV.length == 1)
       input = File.open(ARGV[0])
    
       #do stuff with input
    end
    

    我可以用一个字符串(不写磁盘)创建一个文件吗?否则,我就做不到 input.readline() 当它是一根绳子。

    3 回复  |  直到 9 年前
        1
  •  31
  •   Brian Campbell Dennis Williamson    13 年前

    你可以使用 StringIO ( 1.8.7 , 1.9.3 )创建一个 IO ( 1.8.7 , 1.9.3 )字符串中的对象(即,类似于文件的对象):

    file = StringIO.new("123")
    line = file.readline
    file.close
    
        2
  •  5
  •   Brian Young    15 年前

    StringIO 可用于为字符串提供类似文件的接口。

        3
  •  2
  •   shicholas    9 年前

    Stringio很好,您也可以使用一个块:

    StringIO.open(string) do |file|
      # do stuff here
    end
    

    我喜欢这个替代品 file.close