建立here document 多行字符串
print <<EOF
这是第一种方式创建here document 。
多行字符串。
EOF
print <<"EOF";
这是第二种方式创建here document 。
多行字符串。
EOF
print <<"foo", <<"bar"
I said foo.
foo
I said bar.
bar
转存操作
TEXT = <<`foo`
cat /etc/passwd
foo
puts TEXT
执行命令
print <<`EOC`
echo hi there
echo lo there
EOC
文件读写操作io
TEXT = <<`foo`
cat /etc/passwd
foo
File.open("./11.txt", "w") do |io|
io.write(TEXT)
end
exec "ls -al . && cat ./11.txt"
puts 和 print 的区别
puts print 都是向控制台打印字符,其中puts带回车换行符
puts "hello
world!"
print "hello
world!"
consol log :
hello
world!
hello
ruby的数据类型 包括:Number、String、Ranges、Symbols、True、False、Nil、Array、Hash 这些数据类型
字符串类型
双引号标记的字符串允许替换和使用反斜线符号,
单引号标记的字符串不允许替换,
且只允许使用 \\ 和 \' 两个反斜线符号。
puts 'escape using "\\"';
puts 'That\'s right';
consol log:
escape using "\"
That's right
序列 #{ expr }
序列
puts "计算结果为: #{24*2}"
输出:计算结果为: 48
数组类型
ary = ["fred", 10, 3.14, "This is a String", "last element"]
ary.each do |i|
puts i
end
输出:
fred
10
3.14
This is a String
last element
hash 类型
hsh = colors = { "red" => 0xf00, "green" => 0x0f0, "blue" => 0x00f }
hsh.each do |key, value|
print key, " is ", value, "\n"
end
输出:
red is 3840
green is 240
blue is 15
范围类型
(10..15).each do |n|
print n, ' '
end
输出:
10 11 12 13 14 15