Portál AbcLinuxu, 6. května 2025 22:48
Řešení dotazu:
V tom odkazovaném kódu je funkce runCalc
a ta převede výraz zadaný jako řetězec na jeho syntaktický strom typu Exp
. Takže stačí napsat jen kód, co vyhodnotí výraz typu Exp
.
Funkce runCalc
v příloze má typ String -> [(String, Int)] -> Int
,
kde první parametr je řetězec, co chcete rozparsovat a druhý parametr je seznam dvojic (varName, value)
, každé proměnné přiřazuje hodnotu. Funkce by se dle mého názoru měla volat runCalc vyraz []
, pokud nepředpokládáte nějaké standardní hodnoty proměnných, pokud chcete proměnné a
dát hodnotu 2
, pak lze zavolat runCalc vyraz [("a", 2)]
.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.