我需要从列表(头部)中删除第一个元素并存储该值。我该怎么做呢?我试图在sml中创建一个堆栈并制作pop方法
答案 0 :(得分:2)
在标准ML列表中等同于堆栈。您可以使用hd
获取第一个元素,并且可以使用tl
来获取剩余的堆栈。但hd
和tl
是部分函数,如果堆栈为空将失败。更安全的选择是使用&a;选项类型:
fun pop [] = NONE
| pop (top::stack) = SOME (top, stack)
证明其用途:
- pop [1,2,3];
> val it = SOME(1, [2, 3]) : (int * int list) option
答案 1 :(得分:-3)
如果要从数组中删除第一个元素,请参阅下面的
<强> HTML 强>
<!DOCTYPE html>
<html data-ng-app="demo">
<head>
<script data-require="angular.js@1.1.5" data-semver="1.1.5" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.1.5/angular.js"></script>
<link rel="stylesheet" href="style.css" />
<script src="script.js"></script>
</head>
<body>
<div data-ng-controller="DemoController">
<ul>
<li data-ng-repeat="item in items">
{{item}}
<button data-ng-click="removeItem($index)">Remove</button>
</li>
</ul>
<input data-ng-model="newItem"><button data-ng-click="addItem(newItem)">Add</button>
</div>
</body>
</html>
<强>的Javascript 强>
"use strict";
var demo = angular.module("demo", []);
function DemoController($scope){
$scope.items = [
"potatoes",
"tomatoes",
"flour",
"sugar",
"salt"
];
$scope.addItem = function(item){
$scope.items.push(item);
$scope.newItem = null;
}
$scope.removeItem = function(index){
$scope.items.splice(index, 1);
}
}