作者lg31cm (我住5F)
看板Ruby
标题Re: [问题] IO::each_line
时间Mon Jun 21 00:26:11 2010
抱歉各位我举的例子太烂:
重新举例如下
#example
#test.txt = "abcdef"
File.open("data").each_line("c"){|l| puts(l)}
#output
abc #可否把'c'给移除?
def
当然各位的建议很好(小弟也知道类似的作法)
File.open("data").each_line("c"){|l| puts(l.chomp("c"))}
#output
ab #ok!
def
不过有办法做到跟String一样直觉吗?不用多一次chomp or strip?
#Example
"abcdef".split("c").each{ |s| puts(s) }
※ 引述《lg31cm (我住5F)》之铭言:
: 标题: [问题] IO::each_line
: 时间: Sat Jun 19 08:40:59 2010
:
: 环境:
: e.g. Ruby 1.9
:
: 状况:
:
: #IO::each_line 会保留delimiter,有没有什麽办法可以去掉呢?
:
: #example
: #test.txt = "abc\ndef\n"
: File.open("test.txt").each_line{ |l| printf("%s",l) }
:
: #output
: abc\n #可不可以不要\n?有何简便的方法?
: def\n
:
:
: 附录:
: none
:
: --
:
※ 发信站: 批踢踢实业坊(ptt.cc)
: ◆ From: 122.124.98.125
: 推 zero00072:我实验过,根本没遇到这个问题。或许可以试试 l.chomp。 06/19 10:03
: → zero00072:还是你的 \n 不是跳脱字元?那用 .gsub(/\\n/, "")。 06/19 10:09
: → Dannvix:用 File.open("test.txt").each { |x| puts x } 就好啦 06/19 14:24
: → Dannvix:唔,我错了 each 好像也会保留 >"< 06/19 14:26
: 推 ducksteven: String#trim String#chomp 06/19 15:27
: → ducksteven:我错了 没有 trim 是 chomp XD 06/19 15:28
: 推 godfat:与 trim 对应的应该是 strip, chomp 是直接砍掉最後一个 06/19 23:07
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.124.98.125
1F:→ Dannvix:File.open("data").read.split("c").each {|s| puts s} 06/21 00:38
2F:→ polarpolar:可是原 PO 的问题不太直觉啊 XD" 所以用那方法是正确的 06/21 12:10
3F:→ polarpolar:不过如果全部都要用 c 来换行,不如就把 $/ 改掉吧 @@ 06/21 12:12