Свързани въпроси 'ml'
Намиране на елемент в списък и връщане на неговия индекс - OCaml
Написах следната функция за намиране на даден елемент "x" в даден списък "lst" и връщане на неговия индекс, ако бъде намерен, в противен случай ще върне грешка:
exception Failure of string
let rec func x lst c = match lst with
| [] ->...
10207 изгледи
schedule
05.10.2022
грешка при получаване на израз не съответства
Опитвам се да внедря функция за изтриване на възел за двоично дърво за търсене в SML/nj. Въпреки това получавам грешка при ограничение, която не разбирам защо...
datatype 'a tree = Empty | Node of 'a * 'a tree * 'a tree;
datatype 'a stree = STree...
131 изгледи
schedule
01.11.2022
стандартен мл бързо сортиране
Опитвам се да реша проблем в ml и леко се забивам. извинете ме, че това е тривиален код, но отговорът ще реши повечето от проблема ми.
Код:
val sorted = ([3, 2, 1], [5, 8, 4]);
fun loop ([]) = []
| loop (x::xs) = [3] @ [4];
loop sorted;...
856 изгледи
schedule
15.11.2023
Стандартен ML: Итеративен срещу рекурсивен
Чета ML за работещия програмист и съм малко объркан от разграничението на автора между итеративно и рекурсивно. Моето разбиране беше, че "рекурсивно" просто се отнася до функция, която се самоизвиква. Всяка функция, която не е рекурсивна, е...
706 изгледи
schedule
17.01.2024
Излишно съответствие на шаблони
Опитвам се да напиша функция, която намира дали дадено число n е перфектен квадрат или не. Ето моя опит:
local
fun perfect_square_iter x z = let val sqr = z * z in
case (x,z) of
(sqr,_) => true
| (_, 0) => false...
565 изгледи
schedule
15.02.2024
Стандартен ML: Връща различни типове
Трябва да върна различна стойност въз основа на функцията, предадена на друга функция.
И така, като се има предвид: fun inc x = x + 1;
И: fun double [] = [] | double (h::t) = 2*h::double (t);
Трябва да можете да извикате функцията, върху...
1377 изгледи
schedule
06.04.2024
Последователности в ML (крайни и безкрайни)
Добре,
Имам следната дефиниция на последователността:
datatype 'a seq = Nil | Cons of 'a * (unit-> 'a seq);
Трябва да внедря следната функция:
filterq_n:('a -> bool) -> int -> 'a seq -> 'a seq
Функцията получава...
426 изгледи
schedule
22.05.2024