Local variables, Constants, Instance variables, Class variables and global variables
a = 1
A = 1
@a = 1
@@a = 1
$a = 1
Arefs and Attributes
a[:b] = 1
# a.[](:b, 1)
a.b = 1
a::b = 1
Combine
a, A, @a, @@a, $a, a[:b], a.b =
1, 1, 1, 1, 1, 1, 1
Opassign
a += 1
# a, b += 1, 2 raises Syntax Error!
The only one syntax which allows to write expression in left hand sides is aref. For example, a[random(10)] = 1
is accepted. Also, I can write such codes:
alias []= instance_variable_set
alias [] instance_variable_get
a = Object.new
a['@a'] = 1
p a['@a'] #=> 1
p a #=> #<Object:0x40afb0 @a=1>
No comments:
Post a Comment