23.10.2015 / 07:28 | |
aRiGaTo Пользователь Сейчас: Offline
Имя: Snork Откуда: Yerevan Регистрация: 03.02.2010
| Цитата Naik: ВитаминКО, уже давно показало, где сейчас этот лисп, п где java Слегка некорректное сравнение. Если уж сравнивать Lisp, то с СИМУЛА-67 или, хотя бы, Smalltalk. Вот с его современными реализациями можно. Например, Scheme или Clojure. Scheme: Naughty Dog (разработчики The Last Of Us) используют его как скриптовый язык ( пруф), создатели анимационного фильма по Final Fantasy в далёкие 2000-е ( пруф), Guile, etc. Clojure: ClojureScript (транспилятор в JS), компании, использующие Clojure (не знаю насколько ему можно доверять), ещё (с небольшим списком проектов). Ну, а лично я предпочитаю мультипарадигменные языки. Не понимаю, как джависты жили без лямбд __________________
don't tread on me |
23.10.2015 / 10:21 | |
Ксакеп Модератор форума Сейчас: Offline
Регистрация: 20.06.2012
| Некий Сергей Гостов хочет оплатить услуги связи своего мобильного оператора, чтобы иметь возможность подключиться к сети интернет. Но вот беда, в Липецке во всех банкоматах и платежных системах с перечисленной суммы снимается комиссия в 1%, при этом минимальная комиссия составляет 30 рублей. Помогите Сергею Гостову определить размер коммисии по сумме платежа.
Ваши решения?
|
23.10.2015 / 10:47 | |
HeWeD Пользователь Сейчас: Offline
Регистрация: 11.10.2015
| Ксакеп, взять в ркуи калькулятор
|
23.10.2015 / 12:55 | |
Freddy Пользователь Сейчас: Offline
Имя: Игорь Откуда: Воронеж Регистрация: 30.01.2010
| Ксакеп, с Хаскеллом не знаком, просто про синтаксис и функции почитал: commission :: Float -> Float
commission pay = max(30.0, pay * 0.01)
Возможно, в max запятая не нужна, я не знаю. Изменено Freddy (23.10 / 12:56) (всего 1 раз) |
24.10.2015 / 08:28 | |
Ксакеп Модератор форума Сейчас: Offline
Регистрация: 20.06.2012
| commission = max 30 . (* 0.01)
То есть коммисия — это композиция функций умножения и максимума из двух аргументов. (* 0.01) значит, домножить аргумент на 0.01, или в инфиксной форме: x * 0.01; Точка — это композиция функций. То есть f . g можно переписать в виде f(g(...)). В нашем случае это значит, что мы перепишем в том виде, в каком это написал Freddy. |
24.10.2015 / 09:24 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| Ксакеп, внимание вопрос, а где переменная pay? или в инфиксной форме: x * 0.01;Ну или x этот.
__________________
let live Изменено aNNiMON (24.10 / 09:24) (всего 1 раз) |
24.10.2015 / 09:41 | |
Naik Пользователь Сейчас: Offline
Имя: %name% Регистрация: 14.03.2010
| aNNiMON, подозреваю что это просто ф-я, а потом можно ее применить к аргументу |
24.10.2015 / 13:06 | |
Ксакеп Модератор форума Сейчас: Offline
Регистрация: 20.06.2012
| aNNiMON, в том-то и дело, что её нет. Мы просто говорим, что commission является композицией функций. (.) :: (b -> c) -> (a -> b) -> a -> c
|
28.10.2015 / 11:21 | |
Bogdan-G Пользователь Сейчас: Offline
Имя: Богдан Откуда: Москва Регистрация: 13.02.2011
| Нужно писать не читаемый код |
28.10.2015 / 11:28 | |
Naik Пользователь Сейчас: Offline
Имя: %name% Регистрация: 14.03.2010
| Bogdan-G, зато никто не взломает программу |