Lucky and even lucky numbers: Difference between revisions

m
→‎{{header|Haskell}}: simplified argument parsing
m (→‎{{header|Haskell}}: the negation should be done as part of parsing arguments; also, get rid of case and just use multiple function definitions)
m (→‎{{header|Haskell}}: simplified argument parsing)
Line 95:
<lang Haskell>
import System.Environment
import System.Exit
import Data.Char
import Text.Regex.Posix
Line 164 ⟶ 163:
helpMessage
else
let numArgsl = map readn (filter isIntlucky args) in
case map ifreadn null(filter numArgsisInt args) of
[] then-> do
printputStrLn "Invalid input, missing arguments"
printputStrLn "Type --help"
[x] -> print (nth exitSuccessx l)
[x, x2] else-> if x2 > 0
then print let(range lx =x2 lucky args in case length numArgs ofl)
else print (interval x 1 (->x2) dol)
_ -> do print (nth (head numArgs) l)
putStrLn "Invalid input, wrong number of exitSuccessarguments"
putStrLn 2"Type --help"</lang> if last numArgs > 0
then do
print (range (head numArgs) (last numArgs) l)
exitSuccess
else do
print (interval (head numArgs) (- last numArgs) l)
exitSuccess
_ -> do
print "Invalid input, wrong number of arguments"
print "Type --help"
exitSuccess</lang>
{{out}}
<pre>$ luckyNumbers 1 20
Anonymous user