2.1.2 :003 > "#"+ "#"
=> "##"
2.1.2 :005 > "#"+ "*"
=> "#*"
2.1.2 :006 > "#"+ "@"
=> "\#@"
这里会多一个 '\' 不知道为什么。不过:
2.1.2 :018 > "##" == "\##"
=> true
2.1.2 :019 > "#@" == "\#@"
=> true
2.1.2 :021 > a="#@"
=> "\#@"
2.1.2 :022 > a.length
=> 2
但是:
2.1.2 :025 > a="#@abc"
=> ""
2.1.2 :027 > a="\#@abc"
=> "\#@abc"
觉得很奇怪。后来查了下,才发现原因。
我们都是知道,在 " "
里面可以用 #{v}
来插入表达式或者变量,但是如果 #
后面加入的是变量,而且这个变量是以 @
或者 $
开头的,那么你可以省去 { }
。比如:
2.1.2 :030 > @abc = 1
=> 1
2.1.2 :031 > "#@abc"
=> "1"
2.1.2 :032 > "#{@abc}"
=> "1"
2.1.2 :033 > $efg = 3
=> 3
2.1.2 :034 > "#$efg"
=> "3"