Nejste přihlášen/a.
Vysvětlil by někdo zápis fun a reverse xs : a list = List.foldl (op : [] xs
? v jazyce ML?
Není mi jasný vyznam apostrofu, tuším že by to mohlo být něco s ignorací datového typu.. část za rovná se chápu i když nevím, jak ta proměnná xs se tam vezme. a taky co dělá xs v hlavičce funkce. Jediné co z toho před rovná se asi dedukuji ,že funkce vrací seznam položek typu a (něco jako List<int>
Klíčové výrazy in, let , let ### in #, fun, |, :: chápu.
Jednodušší definici obrácení pořadí seznamu rozumím nebo definici faktoriálu:
fun reverse [] = []
| reverse (x :: xs) = (reverse xs) @ [x]
fun fac 0 acc = acc
| fac n acc = fac (n - 1) (n * acc) in
if (n < 0) then raise Domain else fac n 1
end
ach jo, smajlík tam nemá být - místo něj : ) ... tedy :: a závorka
ML neznám ale apostrof se ve funkcionálních jazycích často používá pro "symboly", nevím jak je to v ML ale je to tak ve většině Lispů. Pokud o něm chceš vědět víc tak hledej klíčové slova "symbol"nebo "quote"kterými se často označují. Jinak tady je příručka která by měla být napsaná pro ML ale nevím zda je to přímo pro tvoji implementaci toho jazyka.
quote symbol je tam zmíněný ve druhé kapitole ale já z toho moc chytrý nejsem
Neneseme odpovědnost za správnost informací a za škodu vzniklou jejich využitím. Jednotlivé odpovědi vyjadřují názory jejich autorů a nemusí se shodovat s názorem provozovatele poradny Poradte.cz.
Používáním poradny vyjadřujete souhlas s personifikovanou reklamou, která pomáhá financovat tento server, děkujeme.