- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对 Prolog 很陌生,我试图弄清楚这个(函数?)取出列表中倒数第二个元素到底发生了什么。
remove([],[]).
remove([X],[X]).
remove([_,X],[X]).
remove([X|Xs], [X|Ys]) :-
Xs = [_,_|_],
remove(Xs,Ys).
我熟悉模式匹配,因为我在 SML 方面做了一些工作。第一个显然是基本情况,当我们分解它时返回空列表。当只剩下一个时,第二个返回相同的变量。第三个看起来好像它返回最后一个元素,忽略倒数第二个元素?至于归纳的情况,如果......(这是我完全迷失的地方),它会将列表的头部附加到新列表。谁能解释一下这个函数中发生了什么,以便我可以更好地理解该语言?
最佳答案
详细阐述 CapelliC 的解释:
remove([],[]).
空列表是删除了倒数第二个元素的空列表。
remove([X],[X]).
单元素列表本身已删除倒数第二个元素。
remove([_,X],[X]).
删除倒数第二个元素的双元素列表是由双元素列表的最后一个元素组成的一个元素的列表。
remove([X|Xs], [X|Ys]) :-
Xs = [_,_|_],
remove(Xs,Ys).
第二个列表是第一个列表删除了第二个元素,并且共享相同的第一个元素,如果:
关于prolog - 取出倒数第二个元素 - Prolog,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19762952/
我有这样的数据。 (a,b,c,d) (g,b,v,n) (n,h,l,o) (,,,) (,,,) (,,,) (,,,) 我想取出空袋子。 所需的输出 (a,b,c,d) (g,b,v,n) (n
我是编程新手,我有一堆 CSV 文件,每个文件大约有 50 到 60 行。在未指定数量的行之后,第二列中有一个名为“NAME”的字符串。我想获取“NAME”之后第二列中的所有内容并将其打印到文本文件中
有没有办法在 linq 中删除以下代码中的 foreach 并产生相同的输出? DropDownList ddl = new DropDownList(); foreach (Data
注意-可以使用UIViewControllerAnimatedTransitioning https://developer.apple.com/library/ios/documentation/u
因此,我开始使用 Swift 为网站构建应用程序。主要目标是拥有一个可以接收通知(来自网站的 JSON)并可以显示网站所有功能的 iOS 应用程序。所以我可以从应用程序登录并注册到我的数据库,但问题是
我希望直接使用 ALAssetsLibrary 和 ALAsset 以 NSData 对象的形式提取图像。 使用 NSURL,我按以下方式取出图像。 NSURL *referenceURL =newU
我是一名优秀的程序员,十分优秀!