sub_atom/5

バックトラックによって、アトムの全ての部分列で、もう一つのアトムを単一化する。

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.


戻る 続く..