ruby如何打印而不为每行保留换行符空间?
ruby如何打印而不为每行保留换行符空间 这是我的档案ruby如何打印而不为每行保留换行符空间?,ruby,Ruby,ruby如何打印而不为每行保留换行符空间 这是我的档案 name1;name2;name3 name4;name5;name6 我有这个命令 File.open("text2xycff.txt", "r") do |fix| fix.readlines.each do |line| parts = line.chomp.split(';') input3= zero File.open('text2xyczzzz2.txt', 'a+') do |f| f.pu
name1;name2;name3
name4;name5;name6
我有这个命令
File.open("text2xycff.txt", "r") do |fix|
fix.readlines.each do |line|
parts = line.chomp.split(';')
input3= zero
File.open('text2xyczzzz2.txt', 'a+') do |f|
f.puts parts[0] , parts[1], parts[2] ,input3
end
end
end
这是我的输出
name1
name2
name3
zero
name4
name5
name6
zero
我需要输出这个
name1;name2;name3;zero
name4;name5;name6;zero
请帮助我解决此问题如果使用逗号分隔的参数调用
put
,则每个参数将打印在不同的行上
您可以在此处()使用ruby字符串插值:
f.puts“#{parts[0]};#{parts[1]};#{parts[3]};#{input3}”
如果使用逗号分隔的参数调用puts
,则每个参数将打印在不同的行上
您可以在此处()使用ruby字符串插值:
f.puts“#{parts[0]};#{parts[1]};#{parts[3]};#{input3}”
您有两种解决方案
第一个使用puts
,与您当前的操作相同:
File.open('yourfile.txt', 'a+') { |f|
f.puts "#{parts[0]}#{parts[1]}#{parts[2]}#{input3}"
}
第二种方法使用write
而不是put
:
File.open('yourfile.txt', 'a+') { |f|
f.write parts[0]
f.write parts[1]
f.write parts[2]
f.write input3
}
你有两个解决方案 第一个使用
puts
,与您当前的操作相同:
File.open('yourfile.txt', 'a+') { |f|
f.puts "#{parts[0]}#{parts[1]}#{parts[2]}#{input3}"
}
第二种方法使用write
而不是put
:
File.open('yourfile.txt', 'a+') { |f|
f.write parts[0]
f.write parts[1]
f.write parts[2]
f.write input3
}
尝试:
我不知道为什么在指定需要以下输出时,要用分号拆分字符串。您只需在字符串末尾追加“zero”而不是解析数组就可以了
名称1;名称2;名称3;零
名称4;名称5;名称6;零尝试:
我不知道为什么在指定需要以下输出时,要用分号拆分字符串。您只需在字符串末尾追加“zero”而不是解析数组就可以了
名称1;名称2;名称3;零
名称4;名称5;名称6;零您可以指定一个
if
语句来检查零
值
例如:
arr = ["name1", "name2", "name3", "zero", "name4", "name5", "name6", "zero"];
arr.each { |x|
if x != "zero" then
print x
else
puts x
end
}
输出:
name1name2name3zero
name4name5name6zero
打印
将以内联方式打印
put
将在新行上打印
只要在代码中实现这个逻辑,就可以了。您可以指定一个
if
语句来检查零值
例如:
arr = ["name1", "name2", "name3", "zero", "name4", "name5", "name6", "zero"];
arr.each { |x|
if x != "zero" then
print x
else
puts x
end
}
输出:
name1name2name3zero
name4name5name6zero
打印
将以内联方式打印
put
将在新行上打印
只要在代码中实现这个逻辑,就可以了。一个更简单的方法是在每行中添加一些内容:
File.open("text2xycff.txt", "r") do |input|
File.open('text2xyczzzz2.txt', 'a+') do |output|
input.readlines.each do |line|
output.puts(line.chomp + ';zero')
end
end
end
或者,如果您想要实际解析内容,这提供了一个清理的机会:
File.open("text2xycff.txt", "r") do |input|
File.open('text2xyczzzz2.txt', 'a+') do |output|
input.readlines.each do |line|
parts = line.chomp.split(/;/)
parts << 'zero'
output.puts(parts.join(';'))
end
end
end
File.open(“text2xycff.txt”,“r”)do|输入|
File.open('text2xyczz2.txt','a+')do | output |
input.readlines.each do|行|
parts=line.chomp.split(/;/)
parts一种更简单的方法是在每行中添加一些内容:
File.open("text2xycff.txt", "r") do |input|
File.open('text2xyczzzz2.txt', 'a+') do |output|
input.readlines.each do |line|
output.puts(line.chomp + ';zero')
end
end
end
或者,如果您想要实际解析内容,这提供了一个清理的机会:
File.open("text2xycff.txt", "r") do |input|
File.open('text2xyczzzz2.txt', 'a+') do |output|
input.readlines.each do |line|
parts = line.chomp.split(/;/)
parts << 'zero'
output.puts(parts.join(';'))
end
end
end
File.open(“text2xycff.txt”,“r”)do|输入|
File.open('text2xyczz2.txt','a+')do | output |
input.readlines.each do|行|
parts=line.chomp.split(/;/)
部分