6.2. kink/BIN

6.2.1. bin型

binは有限長の不変なバイト列である。

binの要素は、 [0x00, 0xff] の範囲内の整数のnum値である。

例

6.2.1.1. Bin.size

sizeはBinが含む要素の数をnum値として戻す。

例

6.2.1.2. Bin.any?

any?はBinの長さが1以上であるかどうかを戻す。

例

6.2.1.3. Bin.get(Ind)

getはIndの位置のBinの要素を戻す。

結果は [0x00, 0xff] の範囲内の整数のnum値である。

事前条件

Indは[0, Bin.size)の範囲の整数のnum値でなければならない。

例

6.2.1.4. Bin.slice(From To)

sliceは、[From, To)の範囲のスライスをbinとして戻す。

事前条件

FromとToは整数のnum値でなければならない。

0 <= From <= To <= Bin.size

例

6.2.1.5. Bin.take_front(N)

take_frontはBinの最初のN個の要素のスライスをbin値として戻す。

事前条件

Nは[0, Bin.size]の範囲の整数のnum値でなければならない。

例

6.2.1.6. Bin.take_back(N)

take_backはBinの最後のN個の要素のスライスをbin値として戻す。

事前条件

Nは[0, Bin.size]の範囲の整数のnum値でなければならない。

例

6.2.1.7. Bin.drop_front(N)

drop_frontはBinの最初のN個を除いた要素のスライスをbin値として戻す。

事前条件

Nは[0, Bin.size]の範囲の整数のnum値でなければならない。

例

6.2.1.8. Bin.drop_back(N)

drop_backはBinの最後のN個を除いた要素のスライスをbin値として戻す。

事前条件

Nは[0, Bin.size]の範囲の整数のnum値でなければならない。

例

6.2.1.9. Bin1 + Bin2

+ 演算子、またはop_addメソッドは、Bin1の要素を先頭に、Bin2の要素を末尾に持つbinを戻す。

事前条件

Bin2はbin値でなければならない。

例

6.2.1.10. Bin * N

* 演算子、またはop_mulメソッドは、Binの要素をN回繰り返したbin値を戻す。

事前条件

Nは非負の整数のnum値でなければならない。

例

6.2.1.11. Bin1 == Bin2

== 演算子、またはop_eqメソッドは、Bin1とBin2が同じ要素の列を持っているかどうかを戻す。

事前条件

Bin2はbin値でなければならない。

例

6.2.1.12. Bin1 <= Bin2

<= 演算子、またはop_leメソッドは、Bin1が辞書順でBin2以下であるかどうかを戻す。

事前条件

Bin2はbin値でなければならない。

例

6.2.1.13. Bin.repr

reprは、Binのstr表現を戻す。

表現は、要素を16進数として持つ。たとえば: `(bin 0x00 0x01 0xfe 0xff)`

Binの要素数が128を超える場合、表現は最初と最後のそれぞれ32要素に切り詰められる。また、全体の要素数がその間に表記される。

例

6.2.2. BIN.is?(Val)

is?はValがbin値であるかどうかを戻す。

例

6.2.3. BIN.of(... Nums)

ofはNumsを要素として持つbin値を戻す。

事前条件

Numsの要素は [0x00, 0xff] の範囲の整数のnum値でなければならない。

例

6.2.4. BIN.from_each(Eacher)

from_eachはEacherの要素を持つbinを戻す。

事前条件

Eacherは、ベクタやiterのように、.each($consume) メソッドをサポートしなければならない。

Eacherのそれぞれの要素は [0x00, 0xff] の範囲の整数のnum値でなければならない。

例