[Ruby][Sorbet] T::Structの==は同値性比較ではなく同一性比較

T::Structの==は、hashや通常のStructと異なり同値性ではなく同一性比較になっています。

1
2
3
4
5
6
7
8
9
class Hoge < T::Struct
  const :hoge, Integer
end

a = Hoge.new(hoge: 1)
b = Hoge.new(hoge: 1)

a == b # => false
a == a # => true

issue: https://github.com/sorbet/sorbet/issues/1540 同値性比較用のgem: https://github.com/bellroy/sorbet-struct-comparable

Built with Hugo
テーマ StackJimmy によって設計されています。