【发布时间】:2017-03-21 11:40:55
【问题描述】:
我有这个代码:
def rectangle
"|------------------|\n" +
"| |\n" +
"| |\n" +
"| |\n" +
"| |\n" +
"| |\n" +
"| |\n" +
"| |\n" +
"| |\n" +
"|------------------|\n"
end
我想重构它。但由于某种原因,如果我尝试以任何其他方式连接/合并字符串,"\n" 将停止工作,并在一行中返回。
def rectangle
a = "|------------------|\n"
b = "| |\n"
a + b + a
end
我尝试过使用
System.getProperty("line.separator", "\n")
正如在类似帖子中所建议的那样,但这没有帮助(或者我做得不对)。这是我课程的一部分。感觉就像我错过了一些明显的东西。
【问题讨论】:
-
通过
inspect显示时,字符串始终为一行。如果您打印它,它只是多行。你试过吗?不要忘记 Ruby 可以将字符串相乘:'-' * 10比这里的更容易使用。 -
如果我使用 print 那么它将返回 nil,我希望它返回一个由 - 和 | 组成的正方形听起来很傻
-
puts和朋友返回nil,这就是他们所做的。显示字符串,它看起来会很好。我认为您将inspect符号与实际内容混淆了。 -
他们给了我们一个测试,我认为它不起作用,但确实如此。哈!好的,谢谢你的耐心。