このスニペットのdistinctByの動作がわかりません:
let s = [123; 231; 321]
let s1 = s |> Seq.map (string >> Seq.sort)
let s2 = s |> Seq.distinctBy (string >> Seq.sort)
これは以下を生成します:
s1 = seq [seq ['1'; '2'; '3']; seq ['1'; '2'; '3']; seq ['1'; '2'; '3']]
予想通りですが:
s2 = seq [123; 231; 321]
3つのキーが同一であるため、1つの要素のみを期待していました。私が間違った部分はどれですか?