Свързани въпроси '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