Ruby 常量表示 Literal

Juanito FatasThinking about what to do.

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"]