最近在看 sinatra 的源码,里面有一处的代码让我不清楚用意到底是什么。
代码是这样的
char =~ /[A-Z]/ ? "[#{char}#{char.tr('A-Z', 'a-z')}]" : char
https://github.com/sinatra/sinatra/blob/master/lib/sinatra/base.rb#L1630
我的疑惑是其中 char.tr('A-Z', 'a-z') 的目的难道不是为了把 大写的字母转成小写的字母吗?如果是的话,为什么不直接用 downcase 呢? 或者是说这样写有其它的用处?还望指教。