self <=> other -> IntegerRuby 3.1 から[permalink][rdoc][edit]-
バッファの大きさと内容を other と比較します。
まず大きさを比較し、大きさが同じ場合に内容をバイト列として比較します。
selfの方が小さければ負の整数を、等しければ 0 を、大きければ正の整数を返します。大きさが同じ場合の比較には C の
memcmpを使い、その結果をそのまま返します。このため返る整数の絶対値に意味はありません。0 との大小だけを見てください。Comparable を include しているため、
<や==などの比較演算子も使えます。- [PARAM]
other: - 比較対象のバッファを IO::Buffer で指定します。
- [EXCEPTION]
TypeError: - other が IO::Buffer でない場合に発生します。
例: 大きさが同じ場合は memcmp の結果がそのまま返るbuf = IO::Buffer.for("abc") p(buf <=> IO::Buffer.for("abc")) # => 0 p(buf <=> IO::Buffer.for("ab")) # => 1 p buf < IO::Buffer.for("abd") # => truep(IO::Buffer.for("abc") <=> IO::Buffer.for("abz")) # => -23 - [PARAM]