({:x 10, :y 20, :z 50} :y)
gives 20
そしてまた
(:y {:x 10, :y 20, :z 50})
gives 20
どちらの場合も内部的にどのように機能しますか、
関数としてのマップの場合、最初の値がマップであることを理解することで、フォームを区別できることがわかります。
しかし、キーはどのように関数になりますか? 実行時に、キーは任意の型の値になる可能性があるため、ランタイムはこの値を関数として扱わなければならないことをどのように理解するのでしょうか?