習慣として、私は他の誰かのソースコードを定期的に読んで、要点にコメントするようにしています。今、私はsinatraのベースアプリを読んでいて、興味深いコードに出くわしました(これは彼らのRequestクラスの一部です)
def accept
@env['sinatra.accept'] ||= begin
entries = @env['HTTP_ACCEPT'].to_s.split(',')
entries.map { |e| accept_entry(e) }.sort_by(&:last).map(&:first)
end
end
私が得られない部分は、&:lastと&:firstが何をしているのか?!?狂気のようです!