このscalaコードを検討してください
val word = str.toLowerCase
val chars = word.distinct.sorted
そしてその後
//chars.map(c => str.toLowerCase.count(_ == c))
chars.map(c => word.count(_ == c))
val word
マップの新しい小文字の文字列を作成しないように作成しました。しかし、理論的には、Scala コンパイラーはそれを最適化して取り除くことができるのでしょうか? 文字列が不変であることを知っています。