同じ名前(同じ文字列)を持つ2つのシンボルが、文字列に反しで、実行時に同じオブジェクトを参照します:文字列、つまり抑留されている- Scalaは、シンボルの概念が付属しています。
シンボルはLisp、Ruby、Erlangなど、多くの言語の機能ですが、Scalaでは比較的小さな用途です。それにもかかわらず良い機能。
つかいます:
単一引用符を持つ任意のリテラル先頭に'
一つ以上の数字が続くが、文字、またはアンダースコア_
リテラルシンボルです。最初の文字は数字ではありえないので例外です。
良い定義:
'ATM
'IPv4
'IPv6
'map_to_operations
'data_format_2006
// Using the `Symbol.apply` method
Symbol("hakuna matata")
Symbol("To be or not to be that is a question")
悪い定義:
'8'th_division
'94_pattern
'bad-format