将列表中的某些字符复制到序言中的另一个字符

尼克·潘波基迪斯(Nick Pampoukidis)

所以我有这段代码,可以将所有内容从一个列表复制到另一个列表。为了复制,我应该如何修改它,比如说前两个字符。

$copy(L,R) :- 
    copy2(L,R).
copy2([X],[X]).
copy2([H|T1],[H|T2]) :-
    copy2(T1,T2).

我想要的示例是:?-copy([a,b,c,d,e,f],X,2-> X = [a,b]

顺恩

您可以统一复制列表:

?- [a,b,c,d,e] = List.
List = [a, b, c, d, e].

?- [a,b,c,d,e] = [V,W,X,Y,Z].
V = a,
W = b,
X = c,
Y = d,
Z = e.

?- [a,b,c,d,e] = [V,W|Rest].
V = a,
W = b,
Rest = [c, d, e].

可以定义一个谓词,例如您描述的谓词,它复制列表的前N个元素:

first_n(List, N, Xs) :-
    length(Xs, N),
    append(Xs _, List).

像这样工作:

?- first_n([a,b,c,d,e], 2, X).
X = [a, b].

编写类似谓词的方法有很多。我定义的方式first_n/3,如果N大于长度List(这在注释中由@false指出),它将失败取而代之的是,可以编写一个通用函数take的类似物,List如果长度N大于List的长度,它将完全返回

take_n(N, List, Taken) :-
    ( length(List, M),
      N > M
    ->
      Taken = List
    ;
      length(Taken, N),
      append(Taken, _, List)
    ).

在@false的有用批评的指导下,此答案已被纠正(几次)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将列表中的某些字符复制到序言中的另一个字符

来自分类Dev

将字符串列表复制到另一个字符串列表

来自分类Dev

使用动态中的指针将一个字符串复制到另一个字符串

来自分类Dev

将元素从一个字符数组复制到另一个字符数组

来自分类Dev

C - 将一个字符复制到另一个字符

来自分类Dev

什么将空字符串复制到另一个字符串?

来自分类Dev

如何使用指针而不使用字符串库将字符数组复制到'c'中的另一个字符数组

来自分类Dev

是否有一个功能可以将一个字符的所有实例复制到另一个字符串的相同索引中?

来自分类Dev

如何将一个字符串快速复制到另一个字符串的一部分中?

来自分类Dev

如何从一个字符串中一次读取两个字符并复制到另一个字符串中

来自分类Dev

将 WCHAR* 中的第一个字符复制到 LPWCSTR

来自分类Dev

如何将内容从一个字符串向量复制到另一个?

来自分类Dev

在java中,如何在字符串中查找单词并将其复制到另一个字符串变量中?

来自分类Dev

为什么我的代码无法将一个字符串复制到另一个字符串?

来自分类Dev

使用指针将一个字符串复制到另一个字符串的程序不产生任何输出

来自分类Dev

VBA-将字符串中的前三个字符复制到另一个单元格中

来自分类Dev

如何将一个字符串数组存储到另一个字符串数组中?

来自分类Dev

使用 vba 提取工作簿的第一个字符并复制到另一个工作簿

来自分类Dev

将字典中的键复制到另一个字典

来自分类Dev

在C编程中将一个字符串变量复制到另一个字符串变量时遇到问题

来自分类Dev

如何在Java中将某个单词从一个字符串复制到另一个字符串

来自分类Dev

在C中进行字符串解析。将字符串的一部分复制到另一个字符串

来自分类Dev

如何从一个字符或图案到另一个字符?

来自分类Dev

如何将 (ICU4C) Unicode 字符串逐个字符复制到另一个 Unicode 字符串?

来自分类Dev

C将一个字符数组中的一个字符替换为另一个

来自分类Dev

一次将输入复制到输出一个字符的程序

来自分类Dev

C strcpy复制字符串并添加另一个字符

来自分类Dev

C strcpy复制字符串并添加另一个字符

来自分类Dev

将第一个字符串复制到第二行

Related 相关文章

  1. 1

    将列表中的某些字符复制到序言中的另一个字符

  2. 2

    将字符串列表复制到另一个字符串列表

  3. 3

    使用动态中的指针将一个字符串复制到另一个字符串

  4. 4

    将元素从一个字符数组复制到另一个字符数组

  5. 5

    C - 将一个字符复制到另一个字符

  6. 6

    什么将空字符串复制到另一个字符串?

  7. 7

    如何使用指针而不使用字符串库将字符数组复制到'c'中的另一个字符数组

  8. 8

    是否有一个功能可以将一个字符的所有实例复制到另一个字符串的相同索引中?

  9. 9

    如何将一个字符串快速复制到另一个字符串的一部分中?

  10. 10

    如何从一个字符串中一次读取两个字符并复制到另一个字符串中

  11. 11

    将 WCHAR* 中的第一个字符复制到 LPWCSTR

  12. 12

    如何将内容从一个字符串向量复制到另一个?

  13. 13

    在java中,如何在字符串中查找单词并将其复制到另一个字符串变量中?

  14. 14

    为什么我的代码无法将一个字符串复制到另一个字符串?

  15. 15

    使用指针将一个字符串复制到另一个字符串的程序不产生任何输出

  16. 16

    VBA-将字符串中的前三个字符复制到另一个单元格中

  17. 17

    如何将一个字符串数组存储到另一个字符串数组中?

  18. 18

    使用 vba 提取工作簿的第一个字符并复制到另一个工作簿

  19. 19

    将字典中的键复制到另一个字典

  20. 20

    在C编程中将一个字符串变量复制到另一个字符串变量时遇到问题

  21. 21

    如何在Java中将某个单词从一个字符串复制到另一个字符串

  22. 22

    在C中进行字符串解析。将字符串的一部分复制到另一个字符串

  23. 23

    如何从一个字符或图案到另一个字符?

  24. 24

    如何将 (ICU4C) Unicode 字符串逐个字符复制到另一个 Unicode 字符串?

  25. 25

    C将一个字符数组中的一个字符替换为另一个

  26. 26

    一次将输入复制到输出一个字符的程序

  27. 27

    C strcpy复制字符串并添加另一个字符

  28. 28

    C strcpy复制字符串并添加另一个字符

  29. 29

    将第一个字符串复制到第二行

热门标签

归档