(2)p不会识别双引号内的转义符,并自动换行
(3)print会识别双引号内的转义符,不自动换行
点击(此处)折叠或打开
irb(main):003:0>puts "a", "\nb"
a
b
=>nil
irb(main):004:0>p "a", "\nb"
"a"
"\nb"
=>nil
irb(main):005:0>print "a", "\nb"
a
b=>nil
message 是一个字符串regex 是一个正则表达式
message.scan(regex)得到 符合regex这个正则表达式的一个数组
message.scan(regex).each{|m|puts"#{m[0]}"} 中 m是数组中的每一个元素,是一个字符串,m[0]就是m的第一个字符
所以message.scan(regex).each{|m|puts"#{m[0]}"} 就是打印message符合regex的结果的每一个元素的第一个字符
putc 方法 :一次只输出一个字符ASCII码中,十进制数123 对应的字符是“{”
所以 putc(123) 运行的结果是:{
再举两个例子:
例1:
#!/usr/bin/ruby
str="Hello Ruby!"
putc str #一次只输出一个字符
输出结果:
H
例2:
#!/usr/bin/ruby
aFile = File.new("/var/www/tutorialspoint/ruby/test", "r")
if aFile
aFile.syswrite("ABCDEF")
aFile.each_byte {|ch| putc chputc ?. }
else
puts "Unable to open file!"
end
输出结果:
T.h.i.s. .i.s. .l.i.n.e. .o.n.e.
.T.h.i.s. .i.s. .l.i.n.e. .t.w.o.
.T.h.i.s. .i.s. .l.i.n.e. .t.h.r.e.e.
.A.n.d. .s.o. .o.n.......