Sml 如何删除列表中的第一个元素

Sml 如何删除列表中的第一个元素,sml,smlnj,Sml,Smlnj,我需要从列表头中删除第一个元素并存储值。我该怎么做呢?我正在尝试在sml中创建一个堆栈,并使用pop方法如果您想从数组中删除第一个元素,请执行下面的检查 HTML 在标准ML中,列表相当于堆栈。您可以使用hd获取第一个元素,也可以使用tl获取剩余的堆栈。但是hd和tl是部分函数,如果堆栈为空,它们将失败。更安全的选择是使用“A选项类型: 演示其用途: - pop [1,2,3]; > val it = SOME(1, [2, 3]) : (int * int list) option 听

我需要从列表头中删除第一个元素并存储值。我该怎么做呢?我正在尝试在sml中创建一个堆栈,并使用pop方法

如果您想从数组中删除第一个元素,请执行下面的检查

HTML


在标准ML中,列表相当于堆栈。您可以使用hd获取第一个元素,也可以使用tl获取剩余的堆栈。但是hd和tl是部分函数,如果堆栈为空,它们将失败。更安全的选择是使用“A选项类型:

演示其用途:

- pop [1,2,3];
> val it = SOME(1, [2, 3]) : (int * int list) option

听起来你正处于一个学习阶段,a或更好的答案适合你的需要。

回答得好,+1,尽管可以说这样一个研究不足的问题应该结束。我投票结束这个问题,因为它没有显示任何研究成果。
"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);
 }
 }
fun pop [] = NONE
  | pop (top::stack) = SOME (top, stack)
- pop [1,2,3];
> val it = SOME(1, [2, 3]) : (int * int list) option