| バックトラックによって、アトムの全ての部分列で、もう一つのアトムを単一化する。
sub_atom(+アトム, ?左長さ, ?長さ, ?右長さ, ?サブアトム)
sub_atom/5 は、バックトラックによって、
アトム のすべての部分列で、
サブアトム を単一化する。
サブアトムの長さは長さである。
左長さは、サブアトム の左側のアトム の部分列の長さで、
右長さ は、サブアトム の右側のアトム の部分列の長さである。
引数
アトム アトム
左長さ 整数 または 整数を代用する表現
長さ 整数 または 整数を代用する表現
右長さ 整数 または 整数を代用する表現
サブアトム アトム
例
| sub_atom(text, LL, 3, RL, S). |
以下の代入で、成功。
{LL <- 0, RL <- 2, S <- 'te'}
{LL <- 1, RL <- 1, S <- 'ex'}
{LL <- 2, RL <- 0, S <- 'xt'} |
| sub_atom(abcabd, LL, 2, RL, ab). |
以下の代入で、成功。
{LL <- 0, RL <- 4}
{LL <- 3, RL <- 1} |
| sub_atom(hello, 0, 3, _, Prefix). |
以下の代入で、成功。
{Prefix <- hel}
|
| sub_atom(hello, _, 3, 0, Suffix). |
以下の代入で、成功。
{Suffix <- llo}
|
| sub_atom(hello, 1, 3, _, Infix). |
以下の代入で、成功。
{Infix <- ell}
|
標準
この述語は、ISO-Prolog標準に含まれる。
関連
atom_chars/2,
atom_codes/2,
atom_concat/3,
atom_length/2,
atom_number/2,
char_code/2,
number_chars/2,
number_codes/2,
parse_atom/2/3.
|