Вопросы с тегом «higher-order-functions»

4
Почему Haskell (GHC) так чертовски быстр?
Haskell (с GHCкомпилятором) работает намного быстрее, чем вы ожидаете . При правильном использовании он может приблизиться к языкам низкого уровня. (Любимая вещь для Haskellers - попытаться получить в пределах 5% от C (или даже побить его, но это означает, что вы используете неэффективную программу на C, поскольку GHC компилирует Haskell …

7
разница между foldLeft и reduLeft в Scala
Я узнал основную разницу между foldLeftиreduceLeft foldLeft: начальное значение должно быть передано reduceLeft: принимает первый элемент коллекции в качестве начального значения выдает исключение, если коллекция пуста Есть ли другая разница? Есть какая-то конкретная причина иметь два метода с похожей функциональностью?

11
Как я могу взорвать и обрезать пустое пространство?
Например, я хотел бы создать массив из элементов в этой строке: $str = 'red, green, blue ,orange'; Я знаю, что вы можете взорваться и пройти через них и обрезать: $arr = explode(',', $str); foreach ($arr as $value) { $new_arr[] = trim($value); } Но я чувствую, что есть однострочный подход, который …

4
Как использовать ES6 Fat Arrow для .filter () массива объектов
Я пытаюсь использовать функцию стрелки ES6 .filterдля возврата взрослых (Джек и Джилл). Кажется, я не могу использовать оператор if. Что мне нужно знать, чтобы сделать это в ES6? var family = [{"name":"Jack", "age": 26}, {"name":"Jill", "age": 22}, {"name":"James", "age": 5 }, {"name":"Jenny", "age": 2 }]; let adults = family.filter(person => …

1
Что такое параморфизмы?
Читая эту классическую статью , я зацикливаюсь на параморфизмах. К сожалению, раздел довольно тонкий, и на странице Википедии ничего не сказано. Мой перевод на Haskell: para :: (a -> [a] -> b -> b) -> b -> [a] -> b para f base = h where h [] = base …

2
Как функции высшего порядка, такие как .map (), работают внутри JavaScript?
В настоящее время каждый пытается использовать такие функции высшего порядка, чтобы получить многообещающий результат при написании меньшего количества кода. Но мне интересно, как эти функции работают внутри. Предположим, если я напишу что-то вроде var numbers = [16, 25, 36]; var results = numbers.map(Math.sqrt); console.log(results); // [4, 5, 6] Выполнить фрагмент …

2
Haskell: класс типов против передачи функции
Мне кажется, что вы всегда можете передавать аргументы функции, а не использовать класс типов. Например, вместо определения класса типов равенства: class Eq a where (==) :: a -> a -> Bool И использование его в других функциях для указания аргумента типа должно быть экземпляром Eq: elem :: (Eq a) => …

2
Объединяя фрагменты кода Haskell, чтобы получить большую картину
Это код, который я где-то нашел, но хочу знать, как это работает: findIndices :: (a -> Bool) -> [a] -> [Int] findIndices _ [] = [] findIndices pred xs = map fst (filter (pred . snd) (zip [0..] xs)) Вывод: findIndices (== 0) [1,2,0,3,0]==[2,4] , где predесть (==0)& xsесть[1,2,0,3,0] Я …

3
Какие знания или обучение необходимы для того, чтобы кто-то записал определение сгиба, как это? [закрыто]
Закрыто . Этот вопрос должен быть более сфокусированным . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он был сосредоточен только на одной проблеме, отредактировав этот пост . Закрыто 7 месяцев назад . В последнее время я пытаюсь использовать Haskell в некоторых моих реальных …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.