Я написал функцию, которая будет перебрасывать альтернативные элементы в списке, однако я должен ее вызвать, а затем вызвать его методы (я новичок в ML, поэтому приношу свои извинения, если я использую неправильные термины). Я бы предпочел просто вызвать функцию без вызова методов внутри нее. Это то, что я должен сделать сейчас:Переверните альтернативные элементы в списке ML
(*3. Flip alternate elements in a list, if n = odd, element n remains at end*)
fun flip nil x = x
| flip x nil = x
| flip (x::xs) (y::ys) = x::y::flip xs ys;
fun take l =
if l = nil then nil
else hd l::skip (tl l)
and skip l =
if l = nil then nil
else take (tl l);
но когда я называю его поменять местами элементы, я должен назвать это:
flip (skip d) (take d);
flip (skip e) (take e);
Есть ли способ вызова функции как:
flip (d);
Если я называю flip (d);
сейчас, он просто печатает
val take = fn : ''a list -> ''a list
val skip = fn : ''a list -> ''a list
Спасибо всем заранее!
EDIT: Я должен упомянуть, d это просто список Интс:
val d = [1,2,3,4];
Спасибо, это в значительной степени именно то, что я искал! – hbteibet