Siteswap.analyze()
analyze() メソッドは、入力文字列を解析してサイトスワップデータを返します。
構文
analyze(text)
引数
- text
- サイトスワップパターンを表す文字列です。
返値
以下のようなプロパティを持ったオブジェクトを返します。
- count
- サイトスワップの道具数です。例えばパターン文字列が "51" なら 3 になります。
- message
- パターン文字列が妥当なサイトスワップではなかった場合、その理由を表すメッセージ文字列が格納されます。
- period
- サイトスワップの周期です。例えばパターン文字列が "7131" なら 4、"(4x,2x)" なら 2 などとなります。
- state
- サイトスワップの状態を表す数値配列です。例えばパターン文字列が "51" なら [1, 1, 0, 1]、"[34]20" なら [2, 1] などとなります。
- sync
- パターン文字列がシンクロだった場合は true が、それ以外の場合は false が格納されます。
- text
- パターン文字列そのものです。引数に渡した文字列のうち全角は半角に、大文字は小文字に変換されます。
- throws
- パターン文字列を数値配列の配列に変換したものです。例えばパターン文字列が "3" なら [[3]]、"[34]20" なら [[3, 4], [2], [0]] となります。シンクロの場合 "x" が付く数字は奇数に変換されますが、左側の数字には +1、右側の数字には -1 が加えられます。例えば "(4x,2x)" なら [[5], [1]] です。
- valid
- 必ず存在します。入力文字列が妥当なサイトスワップだった場合は true が、それ以外の場合は false が格納されます。
例
const result = jmotion.Siteswap.analyze("531");
// result = {
// "count": 3,
// "period": 3,
// "state": [1, 1, 1],
// "sync": false,
// "text": "531",
// "throws": [
// [5],
// [3],
// [1],
// ],
// "valid": true,
// }