Функциональное программирование - стандартные символы, схемы, и т.д.

При планировании из планировщика Windows вы можете отправить аргумент командной строки, а затем проверить его в своем коде, если он запускается с указанным аргументом командной строки, тогда он запускается из планировщика Windows.

6
задан Mike Hamer 5 May 2009 в 16:13
поделиться

3 ответа

В функциональном программировании есть секретная хитрость.

  1. Он в основном не содержит состояний, поэтому традиционные императивные диаграммы не имеют значения.

  2. Большинство обычных математических обозначений, относящихся к саду, также не содержат состояний.

Функциональный дизайн больше похож на алгебру, чем на что-либо еще. Вы собираетесь определить функции и показать, что состав этих функций дает желаемый результат.

Диаграммы не так необходимы, потому что функциональное программирование несколько проще, чем процедурное программирование. Это больше похоже на обычные математические обозначения. Используйте математические методы, чтобы показать, что ваши различные функции делают правильные вещи.

7
ответ дан 9 December 2019 в 20:48
поделиться

Я думаю, что проблема ОП заключалась в том, что он хочет выполнить ОБА следующее:

  • Передать параметр, который может содержать пробелы
  • Проверить, является ли параметр отсутствует

Как уже упоминалось в нескольких постерах, для передачи параметра, содержащего пробелы, необходимо заключить фактическое значение параметра в двойные кавычки.

Чтобы проверить, отсутствует ли параметр, я всегда изучал метод:

if "%1" == ""

Однако если фактический параметр заключен в кавычки (как и должно быть, если значение содержит пробелы), это становится

if ""actual parameter value"" == ""

, что вызывает «неожиданную» ошибку. Если вы вместо этого используете

if %1 == ""

, то ошибка больше не возникает для указанных значений. Но в этом случае тест больше не работает , когда значение отсутствует - он становится

if  == ""

Чтобы исправить это, функция

  • f o g используется для обозначения функции состав
  • -1
    ответ дан 9 December 2019 в 20:48
    поделиться

    Функциональные программисты больше пишут уравнения, чем диаграммы. Игра называется рассуждения по уравнениям и в основном включает в себя

    • Подстановку равных вместо равных

    • Применение алгебраических законов

    • Случайное доказательство по индукции

    Идея состоит в том, что вы пишете действительно простой код, который является «явно правильным», то вы используете уравнение, чтобы превратить его в нечто более чистое и / или более эффективное. Мастер этого искусства - профессор из Оксфорда по имени Ричард Берд.

    Например, если я хочу упростить выражение схемы

    (append (list x) l)
    

    , я буду заменять равными равными, как сумасшедшие. Используя определение list , я получаю

    (append (cons x '()) l)
    

    Подставляя тело добавления, которое у меня есть

    (if (null? (cons x '())) 
        l
        (cons (car (cons x '())) (append (cdr (cons x '())) l)))
    

    Теперь у меня есть эти алгебраические законы:

    (null? (cons a b)) == #f
    (car   (cons a b)) == a
    (cdr   (cons a b)) == b
    

    и заменяя равными равными, я получаю

    (if #f
        l
        (cons x (append '() l))
    

    С другим законом, (if #f e1 e2) == e2 , я получаю

    (cons x (append '() l))
    

    И если я снова использую определение добавления, я получаю

    (cons x l)
    

    , которое, как я доказал, равно

    (append (list x) l)
    
    4
    ответ дан 9 December 2019 в 20:48
    поделиться