Выполнить несколько операторов на основе логических условий в Haskell

Это должно исправить:

jQuery(document).ready(function($){
  //you can now use $ as your jQuery object.
  var body = $( 'body' );
});

Проще говоря, WordPress запускает свои собственные скрипты, прежде чем вы сможете, и они освободят $ var, чтобы он не сталкивался с другими библиотеками. Это делает общий смысл, поскольку WordPress используется для всех видов веб-сайтов, приложений и, конечно, блогов.

Из их документации:

Библиотека jQuery, включенная в WordPress установлен в режим noConflict () (см. Wp-includes / js / jquery / jquery.js). Это необходимо для предотвращения проблем совместимости с другими библиотеками JavaScript, которые может связывать WordPress.

В режиме noConflict () глобальный $ shortcut для jQuery недоступен ...

-1
задан user9156598 3 March 2019 в 12:40
поделиться

2 ответа

"например, f 5 выполняет g x, а затем также выполняет h x"

И что возвращает? Мы должны вернуть некоторое значение , так работает электронная оценка Хаскелла .

Если вам нужны значения обоих операторов, вы можете объединить их, поместив их в список:

f x = [ g x | x < 10 ] ++ [ h x | x < 15 ] ++ [ m x | True ]

Этот список будет содержать все результаты, для которых выражение справа от их [ 111] (список охранников понимания) оценить до True. ++ добавляет два списка в один. True тривиально оценивает True, поэтому может быть опущено: [ m x ].

0
ответ дан Will Ness 3 March 2019 в 12:40
поделиться

В чисто функциональном программировании мы не выполняем операторы, как в императивном программировании. нет понятия «сделай это, тогда сделай это». Вместо этого мы в основном пишем функции, которые принимают несколько аргументов в качестве входных данных и возвращают некоторые выходные данные.

Что если мы хотим взаимодействовать с миром, а не просто вычислять возвращаемое значение? Ну, в данном конкретном случае мы прибегаем к монаде IO. Обратите внимание, что это не то, что мы делаем часто - мы предпочитаем избегать монады ввода-вывода в максимально возможной степени, чтобы сохранить большую часть вычислений в чистоте.

Вот пример:

f :: Int -> IO ()
f x = do
   putStrLn "hello"
   if x > 15
   then putStrLn "> 15"
   else putStrLn "not > 15"
   if x > 10
   then putStrLn "> 10"
   else putStrLn "not > 10"

Если вы новичок, я бы рекомендовал вам изучить основы Haskell перед использованием монады IO. Повсеместное использование монады ввода-вывода привело бы к очень однотипному коду.

Большинство императивных программистов, изучающих FP, стараются перенести свои прежние привычки на языки FP - это очень распространено. Однако программирование с побочными эффектами и изменяемыми переменными плохо справляется с FP. Постепенно нужно перестать думать с точки зрения эффективных утверждений, и вместо этого перемонтировать свой мозг, чтобы мыслить с точки зрения ценностей и (часто рекурсивных) определений.

Обратите внимание, что FP не является особенным в этом аспекте. Если бы кто-то сначала выучил чистый FP, скажем, на Haskell, а затем подошел к какому-либо императивному языку программирования, они, вероятно, спросили бы: «Как использовать монаду состояний?». Даже если бы вы могли использовать монаду состояния в -say-Java, это было бы глупо, поскольку использование изменяемых переменных было бы гораздо более естественным. Опять же, программирование пытается внедрить свои предыдущие методы в новый язык / парадигму, игнорируя новые функции и создавая недиоматический код.

0
ответ дан chi 3 March 2019 в 12:40
поделиться
Другие вопросы по тегам:

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