A literal is a special syntax in Ruby that creates an object of a specific type.
用來表示特定類型物件的常量語法。
42
3.14
:foo
=> :foo
:"foo-bar"
=> :"foo-bar"
:"1+1=#{1+1}"
=> :"1+1=2"
:'foo"bar"'
=> :"foo\"bar\""
%s[foo-bar(yes!)]
=> :"hello-world(yes!)"
注意,沒有 %S
'foo'
=> "foo"
"foo"
=> "foo"
%q[foo]
=> "foo"
%Q
可以插值、使用單雙引號:
%Q[foo #{1+1}]
=> "foo 2"
%Q 可以簡寫為 %
:%[foo #{1+1}]
。
0xFF00
0755
可用來表示 Unix 的檔案權限。
0b00001111
可以用底線隔開。
100_000_000
?a
等同於 'a'
或 "a"
。
可以少打一個字元。
%w[1 2 3]
=> ["1", "2", "3"]
%W
可以插值:
%W[1 2 #{1+2}]
=> ["1", "2", "3"]
%i[a b c]
=> [:a, :b, :c]
%I
可以插值:
%I[a b #{1+1}]
=> [:a, :b, :"2"]