@jvmchat

Страница 2738 из 2890
Sergei
17.08.2018
20:42:57
после 2ой строчки y ссылается не на x, а на объект, на который ссылался х

Agent Smith
17.08.2018
20:43:49
Понял, спасибо

Google
Ivan
17.08.2018
20:51:33
Гайз, расскажите плиз где применяется каррирование?

В смысле хоть одну практическую задачу

Кстати, смотрите какую про охиренную штуку сегодня рассказали http://www.vavr.io/vavr-docs/ Может ещё кто не слышал

Quantum Harmonizer
17.08.2018
20:53:31
Ivan
17.08.2018
20:53:47
Это ж частичное применение по сути
Ну вот я тоже так думал, но не совсем

Конкретно в этой либе разделяют эти 2 понятия

Agent Smith
17.08.2018
20:56:32
При создании массива с русскими символами компилятор выдаёт такую ошибку(см. изображение). Вот код. Его задача проверять введенное пользователем сообщение на латинице(lowermail) и в случае наличия в нём символов русского алфавита изменять значение isSpam на true. char[] cyrLetters = {"й", "ц", "у", "к", "е", "н", "г", "ш", "щ", "з", "х", "ф", "ы", "в", "а", "п", "р", "о", "л", "д", "ж", "э", "я", "ч", "с", "м", "и", "т", "ь", "б", "ю", "ъ", "ё"}; boolean isSpam = false; for(String x: cyrLetters){ if(lowermail.contains(x)){ isSpam = true; } } https://i.stack.imgur.com/LI0en.jpg

Может кто знает, в чём проблема?

Quantum Harmonizer
17.08.2018
20:57:32
Конкретно в этой либе разделяют эти 2 понятия
Ну вот add(1, 1) == add(1)(1), где add(1) — частично применённая функция

Может кто знает, в чём проблема?
Какая кодировка файла?

Agent Smith
17.08.2018
20:58:54
Понятия не имею, ибо это онлайн компилятор.. :/

Ivan
17.08.2018
20:59:13
Типа на 3х аргументах это будет Carring(f(a,b,c)) = f(a, f(b, f(c))) А для частичного применениея прото будет f(a, b) и последний будет всегда зафиксированным, например 42

Google
Quantum Harmonizer
17.08.2018
21:01:16
Мне кажется, каррирование — частный случай частичного применения, где каждая следующая функция фиксирует ещё один аргумент

Упс, время спать

Ivan
17.08.2018
21:01:35
Понятия не имею, ибо это онлайн компилятор.. :/
Я думаю в @javastart с этим быстрее помогут

Мне кажется, каррирование — частный случай частичного применения, где каждая следующая функция фиксирует ещё один аргумент
Ну я говорю, тоже так думал, но похоже нет, это про похожие, но всё-таки разные вещи, после каррирования получается функция которая возвращает функцию и т.д. По количеству параметров, а для частичного применения результатом будет одна функция где зафиксирован один аргумент

Для функций с 2мя аргументами - да, получается одинаковой вывод, но для 3х параметров уже разница

В общем там же целая теория про это каррирование была, не зря же дали ей имя учёного

Математика

Не помню кто он там был это Карри

Quantum Harmonizer
17.08.2018
21:10:30
curry(function: (a, b, c) -> T) = { a -> curry({ b, c -> function (a, b, c) }) }

Ivan
17.08.2018
22:50:46
curry(function: (a, b, c) -> T) = { a -> curry({ b, c -> function (a, b, c) }) }
https://wikimedia.org/api/rest_v1/media/math/render/svg/174a26e706827b1f83144bfea0baad7b0306f64f Ну вроде тоже самое если следующее каррирование раскрыть

sherzod
18.08.2018
08:31:49
В целом практическую пользу от каррирования сложно ощутить пока в программе не применяются интенсивно функции как first class объекты. Когда вы будете их (функции) использовать как значения: передавать в функции и возвращить из них, и делать это часто, каррирование станет утилитарным чем-то вроде + для чисел.

Igor
18.08.2018
09:28:25
В целом практическую пользу от каррирования сложно ощутить пока в программе не применяются интенсивно функции как first class объекты. Когда вы будете их (функции) использовать как значения: передавать в функции и возвращить из них, и делать это часто, каррирование станет утилитарным чем-то вроде + для чисел.
Да гoспoди, вoт пеpвый встpечный кейс на кoтлине: @JvmStatic fun forDateTime(dateTime: DateTime) { fun predicate(value: DayPart): Boolean = value.predicate(dateTime) return values.first(::predicate) } Написал, вспoмнил, чтo читал ваш пoст, pешил пoделиться oбыденным испoльзoванием в пoвседневнoй жизни.

Мне слишкoм не нpавятся { } лямбды, а так выглядит бoлее чем милoвиднo, да и к названиям мoжнo пpивязать нopмальнo.

Friedrich
18.08.2018
09:29:52
О, а так можно?

Но вообще, можно этот конкретный код намного короче записать: fun forDateTime(dateTime: DateTime) = values.first { it.predicate(dateTime) } Разве такая краткость не стоит того, чтобы перестать пренебрегать {}-лямбдами?

Igor
18.08.2018
09:32:25
Но вообще, можно этот конкретный код намного короче записать: fun forDateTime(dateTime: DateTime) = values.first { it.predicate(dateTime) } Разве такая краткость не стоит того, чтобы перестать пренебрегать {}-лямбдами?
Нет, не стoит. Я видел, дo чегo этo дoвoдит. У меня есть oдна бoльшущая render-функция, и пусть лучше oна будет читаемoй, кpасивoй и с названиями саб-функций для pендеpа блoкoв UI.

Friedrich
18.08.2018
09:33:30
::fixIndex andThen listF()::get Ох, ох, какая красота ?❤️

Google
Friedrich
18.08.2018
09:33:59
Пример хороший, в этом коде вполне обоснованно.

Нет, не стoит. Я видел, дo чегo этo дoвoдит. У меня есть oдна бoльшущая render-функция, и пусть лучше oна будет читаемoй, кpасивoй и с названиями саб-функций для pендеpа блoкoв UI.
Я согласен, что в некоторых случаях (типа твоего второго примера) такой подход себя оправдывает. А вот в оригинале читаемость не улучшилось от того, что ты явно назвал предикат предикатом.

Ой, стоп, а почему мы это обсуждаем не в котлин-чате?

Жабапогромисты, сорян, можете просто игнорировать дискуссию :)

Luger
18.08.2018
09:36:08
Так что нет проблем

Wystan
18.08.2018
09:36:26
Мы толерантны к братям меньшим по разуму :3

Friedrich
18.08.2018
09:36:34
Жвм чат же
В основном всё-таки тут про Java, кроме небольших локальных набегов скалошников.

Или про груви, когда Барух просыпается.

Ivan
18.08.2018
09:45:57
В основном всё-таки тут про Java, кроме небольших локальных набегов скалошников.
В описании Сообщество разработчиков Java Scala Kotlin Groovy Clojure

Friedrich
18.08.2018
09:46:11
КЛОЖУРЕ?!

Friedrich
18.08.2018
09:46:30
Ну ладно, ладно :)

Ivan
18.08.2018
09:54:48
Ну вдруг Рыжиков дойдёт до этого чата =)

Marperia
18.08.2018
13:04:30
Джентльмены, а jetbrains уже закрыли дыру с license server? На что посоветуете перейти?

Alex
18.08.2018
13:05:13
Купить лицензию, оно того стоит

guga
18.08.2018
13:07:18
не ну а шо, все же мы знаем что опенсорс лучше проприетарщины

Google
Marperia
18.08.2018
13:12:41
Купить лицензию, оно того стоит
Сэр, я так вижу, вы хотите стать моим спонсором для покупки лицензии?

guga
18.08.2018
13:13:13
Marperia
18.08.2018
13:13:40
ты программированием деньги зарабатываешь?
Ну как. Я бы не назвал это «деньгами».

Admin
ERROR: S client not available

Alex
18.08.2018
13:14:00
Может быть, студент?

Marperia
18.08.2018
13:14:19
Может быть, студент?
Ага, медицинского.

Dzmitry
18.08.2018
13:14:46
Тогда eclipse

guga
18.08.2018
13:14:53
а eap же стоит денег

Luger
18.08.2018
13:15:01
Господи , чем не хватает idea CE?

Konstantin
18.08.2018
13:15:42
Luger
18.08.2018
13:15:45
Бесплатно, легально, зело прельстиво

Artjom
18.08.2018
13:15:45
Для студентов же есть программа

из серии за копье

Alex
18.08.2018
13:16:06
У Jetbrains хорошая программа поддержки студентов. Не знаю, как для нетехнических ВУЗов, но у меня ещё до сих пор действительная лицензия All Products Pack (дается на год, но можно каждый год учёбы ещё раз брать).

+ недавно были скидки 50%, я себе прикупил личную, вышло очень даже выгодно :)

guga
18.08.2018
13:17:42
Для студентов же есть программа
только там коммерческая разработка запрещена EULA, если мне не изменяет память

Artjom
18.08.2018
13:17:42
я помню скидка 75% была :) Конец мира или что-то такое

Митко Соловец?
18.08.2018
13:18:41
Джентльмены, а jetbrains уже закрыли дыру с license server? На что посоветуете перейти?
1. Используй Idea CE. 2. Используй EAP. 3. Попроси денег у мамы на лицензию. 4. Пиши в эклипсе/нетбинсе/блокноте.

Google
Grushin
18.08.2018
13:19:10
В терминале!

В nano

Alex
18.08.2018
13:19:26
В nano
vim/emacs же

Чтобы быть труъ

Grushin
18.08.2018
13:19:46
vim/emacs же
уу точна

Artjom
18.08.2018
13:19:56
главное уметь выйти из них :)

Evgeniy
18.08.2018
13:20:05
Господи , чем не хватает idea CE?
Отсутствием jee стека поддержки. Эклипс лучше бесплатной идейки и хуже платной.

Grushin
18.08.2018
13:20:30
ыыы забыть про ant/maven/gradle и компилить самому

дааа

Митко Соловец?
18.08.2018
13:20:50
ыыы забыть про ant/maven/gradle и компилить самому
не понял смысл твоего сообщения

будто без идеи нельзя скомпилить мэйвеном или грэдлом проект

Luger
18.08.2018
13:21:07
Тоже не совсем вкурил

guga
18.08.2018
13:21:25
Отсутствием jee стека поддержки. Эклипс лучше бесплатной идейки и хуже платной.
хм, а какая тебе поддержка нужна? я вот правда не помню когда пользовался чем-то из спринговой поддержки

Страница 2738 из 2890