Документация сервера Quartz.NET

Рассмотрим этот пример:

foo ~(Just x) = "hello"
main = putStrLn $ foo Nothing

Здесь используется неопровержимый образец (часть ~). Неопровержимые шаблоны всегда «совпадают», поэтому печатается hello.

foo ~(Just x) = x
main = putStrLn $ foo Nothing

Теперь, образец все еще совпадает, но когда мы попытались использовать x, когда его там не было, мы получили неопровержимую ошибку сопоставления с образцом:

Irr.hs: /tmp/Irr.hs:2:1-17: Irrefutable pattern failed for pattern (Data.Maybe.Just x)

Это тонко в отличие от ошибки, которую вы получаете, когда нет подходящего шаблона:

foo (Just x) = x
main = putStrLn $ foo Nothing

Это выводит

Irr.hs: /tmp/Irr.hs:2:1-16: Non-exhaustive patterns in function foo

Конечно, это несколько надуманный пример. Более вероятное объяснение состоит в том, что это произошло из паттерна в привязке let, , как предположил chrisdb .

6
задан skaffman 16 June 2009 в 21:51
поделиться

1 ответ

Что ж, вы можете присоединиться к группе Google Quartz.NET и задавать вопросы или читать архивы. Я успешно использую кварцевый сервер-клиент с удаленным планированием с клиента, все, что мне нужно, я узнал из загруженных образцов кода.

1
ответ дан 17 December 2019 в 22:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: