169 похожих чатов

Всем здравствуйте 👋. Вчера только Haskell начал пробовать. Пишу на Python,

C#., C++.

Написал простые программы на Haskell:
https://godbolt.org/z/rs8rxoYss

Фото чо мне прислали. Почему нельзя поменять местами _str _num аргументы? Я вижу что Show a для _num, а String a для _str.

9 ответов

11 просмотров
Алексей-Щеглов Автор вопроса

Речь шла про возможности перегрузки функций. Хотел сделать соединение двух типов а результат строки. Но в Compiler Explorer написал паттерн матчингом.

Можно поменять местами, почему нет?

Алексей-Щеглов Автор вопроса
Andrey
Можно поменять местами, почему нет?

Мне сказали так, из PLD чата. Понятия не имею почему. Нужно тогда на деле посмотреть почему.

Алексей Щеглов
Речь шла про возможности перегрузки функций. Хотел...

А-а, ты перегрузить хочешь, с одним именем, но разным порядком? Так не получится

Алексей-Щеглов Автор вопроса
Andrey
А-а, ты перегрузить хочешь, с одним именем, но раз...

Перезагрузить с разными типами второго аргумента. Первый аргумент всегда строка.

покажи что именно нельзя сделать, на словах неясно

Алексей-Щеглов Автор вопроса
Danil Berestov
покажи что именно нельзя сделать, на словах неясно

Что я пытался реализовать: concatenation :: String -> Int -> String concatenation _str _num = _str ++ show _num concatenation :: String -> Bool -> String concatenation, _str _bool = _str ++ show _bool Итог: 1) Реализовал перегрузку через паттерн матчинг. https://github.com/AlexeyVologoda/Haskell_FirstPets/blob/main/main.hs На основе этого проекта мне дали фото как можно в 2 строки реализовать concatenation. На основе этого совета я спросил у людей можно ли поменять местами _str _num потому, что тайпкласс это Show по словам людей. Я вижу что Show a задан как первый аргумент, а _str это всегда строка и почему Int _num не в операции show _num. Люди сказали что не нужно менять. Что я представлял в себе "правильный" код: Из concatenation :: Show a => String -> a -> String concatenation _str _num = _str ++ show _num В: concatenation :: String -> Show a -> String concatenation _str _num = _str ++ show _num

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

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта