如果我说
puts "Hello"
并决定添加额外的换行符,我需要这样做:
puts "Hello\n"
在字符串中包含这个字符是很难看的。有什么办法可以做到这一点而不污染我的字符串吗?
只需再次拨打
puts
:
puts "Hello"
puts
puts "Hello",""
我经常发现自己在 ruby 中添加一个常量来包含这些字符
NEW_LINE = "\n"
puts "Hello" + NEW_LINE
我认为它更具可读性,并且如果有人决定在以后用其他内容分隔每一行,则可以轻松更改所有换行符。
你觉得这样更好看吗?
puts "Hello"+$/
Ruby 使用“的原因” “换行是因为它基于 C。Ruby MRI 是用 C 编写的,甚至 JRuby 也是用 Java 编写的,Java 是基于 C++,而 C++ 又基于 C...你明白了!所以所有这些 C 风格的语言都使用这 ” “对于新线路。
您始终可以编写自己的方法,其行为类似于 put,但根据方法的参数添加新行。
你可以直接写
p "Hello"
p
如果你想保持简短和简单,这也应该有效
嗯,我不认为显式换行是丑陋的。 mipadi的回答也很好。只是为了抛出另一个答案,创建一个行数组,然后用换行符连接该数组。 :)
您想要修复的内容: 脚本输入:
puts "Hello there"
puts "Goodbye"
脚本输出:
Hello thereGoodbye
解决问题: 脚本输入:
puts "Hello there"
puts
puts "Goodbye"
脚本输出:
Hello there
Goodbye
# Class for colorize ex puts "Hello".red
class String
# colorization
def colorize(color_code)
"\e[#{color_code}m#{self}\e[0m"
end
def red
colorize(31)
end
def green
colorize(32)
end
def yellow
colorize(33)
end
def blue
colorize(34)
end
def pink
colorize(35)
end
def light_blue
colorize(36)
end
end
def print_html
html = "Hello<br/>world"
end
irb(main):044:0> print_html
=> "Hello<br/>world"
irb(main):045:0> print_html.split('<br/>').each { |n| puts n.pink }
Hello
world
=> ["Hello", "world"]