バックトラックによって、アトムの全ての部分列で、もう一つのアトムを単一化する。
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標準に含まれる。