ruby 字符串学习笔记3

ascii转字符或者字符串转ascii

"a".ord # =>  97
"!".ord  # => 33
"
".ord # => 10
'a'[0] # => "a"
'bad sound'[1]  # => "a"

'a'[0].ord # => 97
'bad sound'[1].ord  # => 97
97.chr  # => "a"

符号转字符串

:a_symbol.to_s # => "a_symbol"
:AnotherSymbol.id2name  # => "AnotherSymbol"
:"Yet another symbol!".to_s # => "Yet another symbol!"

通过字符串得到相应的符号

:dodecahedron.object_id # => 516488
symbol_name = "dodecahedron"
symbol_name.intern # => :dodecahedron
symbol_name.intern.object_id # => 516488

符号由一个名字和一个internal id 组成,相同符号引用同一个对象,但是两个内容一样的字符串却是不同的对象

"string".object_id   # =>70309575257960
"string".object_id   # =>70309575257221
:symbol.object_id  # => 87690
:symbol.object_id  # => 87690

如果对象内容重要使用字符串,如果对象唯一性重要使用符号

原文地址:https://www.cnblogs.com/or2-/p/5008212.html