如何在Ruby中指定结束行字符?

如何在Ruby中指定结束行字符?,ruby,Ruby,以下代码有效: IO.foreach("C:\\Users\\zeus\\Desktop\\db.txt") do |line| puts line end 但是我想一个接一个地打印每个字符 问题是我无法指定行的结尾。我有一个输入文件,如下所示: 适配器:postgresql 数据库:您好 用户名:postgres 密码:zues 游泳池:5个 超时:5000 代码如下: IO.foreach("db.txt") do |line| i = 0 while line[i] !=

以下代码有效:

IO.foreach("C:\\Users\\zeus\\Desktop\\db.txt") do |line|
  puts line
end
但是我想一个接一个地打印每个字符
问题是我无法指定行的结尾。我有一个输入文件,如下所示:

适配器:postgresql
数据库:您好
用户名:postgres
密码:zues
游泳池:5个
超时:5000

代码如下:

IO.foreach("db.txt") do |line|
  i = 0
    while line[i] != '\n'
      print line[i]
      i = i+1
    end
    puts
end
但它只打印第一行,如下所示:

IO.foreach("db.txt") do |line|
  i = 0
    while line[i] != '\n'
      print line[i]
      i = i+1
    end
    puts
end
适配器:postgresql


再简单不过了。您所要做的就是写
“\n”
而不是
”\n'
,先生:

IO.foreach("db.txt") do |line|
  i = 0
    while line[i] != "\n"
      print line[i]
      i = i+1
    end
    puts
end
然而,hspandher在他的帖子中是正确的——您尝试这样做的方式不是Ruby方式。
可能您是ruby新手,以前使用C/C++/Java编写代码,或者您必须以这种方式实现(家庭作业,w/e),但是无论您以后如何处理这段代码,逐字符迭代都不是最成功的选择


无论如何,您的问题已经用我上面的代码解决了,请随意测试它。

此代码在屏幕上逐字符打印,除了\n

IO.foreach("db.txt") do |line|
    i = 0
        while line[i] != "\n"
            puts line[i]
            i = i+1
        end
end

你的代码中有一个结尾太多了。@Borsunho谢谢你的错误,但错误没有解决请检查我在下面发布的答案,兄弟。它对你有用吗,@ChandraShekhar?