@js_ru
JavaScript — русскоговорящее сообщество

Рекомендуем сразу отключить уведомления Правила: http://bit.ly/our_etiquette См. также: @nodejs_ru, @typescript_ru, @react_js, @electron_ru Вакансии и поиск работы: @javascript_jobs

3006 members

Архив канала @js_ru 29 декабря 2016 г.

11:49:51 ДП
User 100151998
ребят
11:49:57 ДП
User 100151998
есть по линуксу конфа?
11:50:05 ДП
User 100151998
скиньте ссылку плиз
11:50:21 ДП
User 100151998
надо по линуксу спросить
11:53:11 ДП
User 169349446
User 100151998
есть по линуксу конфа?
http://bit.ly/2hyQ1Dm
google.gik-team.com/?q=%D0%BA%D0%BE%D0%BD%D1%84%D0%B0+%D0%BF%D0%BE+%D0%BB%D0%B8%D0%BD%D1%83%D0%BA%D1%81+%D0%B2+%D1%82%D0%B5%D0%BB%D0%B5%D0%B3%D1%80%D0%B0%D0%BC
Давай я поищу в Google вместо тебя; Давай я поищу в Гугл вместо тебя; Давай я поищу в Гугл за тебя; Давай я поищу в Google за тебя
11:56:15 ДП
User 3837856
User 263453492
подскажите, а как в такой конструкции пройтись по каждому элементу, родительским и дочерним и достать нужный объект напрмер по свойству name
На

const reducer = (acc, item) => 
  R.append(
    item.name,
    R.reduce(reducer, 
             acc, 
             item.val || [])
  );
R.reduce(reducer, [], data);

https://goo.gl/8bxPvw
12:46:01 ПП
User 164545727
js же никак не обманешь, чтобы замутить вопросительный знак в имени переменной?
12:57:48 ПП
User 151091411
User 164545727
js же никак не обманешь, чтобы замутить вопросительный знак в имени переменной?
положи переменную в объект и обращайся по переменной в [] типа a.b = 'c', d='b', a[d]
01:51:42 ПП
User 164545727
да это я знаю
01:51:51 ПП
User 164545727
хочется вот так .somevar?
04:15:35 ПП
User 151091411
так не бывает, [] специально для таких случаев существует
04:16:06 ПП
User 151091411
это в php можно написать $a='z'; $b='a'; print $$b; и сработает
04:16:15 ПП
User 104477
User 164545727
хочется вот так .somevar?
И зачем?
04:16:44 ПП
User 104477
Аннотацию не проще написать?
06:51:53 ПП
User 164545727
User 104477
И зачем?
хочу написать проксю .somewar?
06:53:31 ПП
User 164545727
чтобы можно было делать some?.another?.other?.value
06:53:53 ПП
User 164545727
но увы походу нельзя так красиво сделать
06:54:33 ПП
User 68304221
Красиво - это через монады )
06:55:25 ПП
User 164545727
User 68304221
Красиво - это через монады )
как это будет выглядеть?
07:04:45 ПП
User 68304221
Все функции, которые могут вернуть null, возвращают вместо этого монаду Maybe, и принимают в качестве nullable аргументов ее же. В конце вычислений получаешь значение из Maybe - либо результат вычислений (как если бы все было корректно на всем пути вычислений), или Nothing.
07:05:17 ПП
User 68304221
Примеров масса - https://cwmyers.github.io/monet.js/#maybe, например.
cwmyers.github.io/monet.js
Monadic library for functional programming in JavaScript.
07:15:52 ПП
User 68304221
User 164545727
чтобы можно было делать some?.another?.other?.value
Кстати, случайно не то, что ты ищешь?
http://ramdajs.com/docs/#path
07:18:08 ПП
User 185980313
или get у lodash
07:40:42 ПП
User 164545727
я хочу через проксю в js получить some.value?.of?.value2?.and?.value
07:41:01 ПП
User 164545727
парсить знак вопроса и если он есть то проверять есть ли следующий операнд
07:41:09 ПП
User 164545727
и если нет то возвращать undefined
07:41:45 ПП
User 164545727
чтобы можно было обращаться к объектам любой структуры не городя кучу if'ов
07:45:20 ПП
User 104477
User 164545727
парсить знак вопроса и если он есть то проверять есть ли следующий операнд
Есть принципиальное преимущество у парсинга строк перед композицией функций, защищающих от cannot access property of undefined?
08:17:35 ПП
User 164545727
ну вариантов много реализации идеи
08:17:48 ПП
User 164545727
на самом деле идея с монадой имеет место быть
08:18:12 ПП
User 164545727
но из-за того что нельзя использовать вопросительный знак в имени переменной все это будет некрасиво выглядеть
08:19:44 ПП
User 76662447
User 164545727
парсить знак вопроса и если он есть то проверять есть ли следующий операнд
Ну выбери другой символ)
08:20:06 ПП
User 76662447
User 164545727
чтобы можно было обращаться к объектам любой структуры не городя кучу if'ов
Ramda path
08:20:52 ПП
User 76662447
Ой, выше уже скинули, ну ладно
09:12:20 ПП
User 151091411
User 164545727
чтобы можно было делать some?.another?.other?.value
это называется чейнинг chaining, загугли :)
09:30:41 ПП
09:30:54 ПП
User 164545727
я за название переменной
09:39:45 ПП
User 151091411
какой-то очень странный велосипед, с квадратно-перпендикулярными колесами. почему бы не решать эту задачу стандартными средствами языка?
09:41:43 ПП
User 55055646
User 151091411
какой-то очень странный велосипед, с квадратно-перпендикулярными колесами. почему бы не решать эту задачу стандартными средствами языка?
09:46:31 ПП
User 151091411
User 55055646
на приеме у стоматолога :)
09:47:12 ПП
User 55055646
Да, точно
У меня так однажды зуб забрали. Так и не вернули
09:47:52 ПП
User 164545727
я хочу решать проблему красиво
09:48:01 ПП
User 164545727
чтобы выглядело some.value?.another?.value
09:48:34 ПП
User 164545727
чтобы по этой строчке было понятно что value? и another? могут быть undefined и дальше выполнение не пойдет а вернется undefined
09:48:43 ПП
User 55055646
А кроме вопроса другие символы никакие не катят что ли?
09:49:25 ПП
User 164545727
ну из доступных я нашел $
09:49:29 ПП
User 164545727
что не совсем то
09:49:33 ПП
User 164545727
и занято под rxjs
09:49:35 ПП
User 164545727
для стримов
09:49:39 ПП
User 55055646
.another?.value

так это же тогда будет ошибкой, если another undefined, нет?
09:54:06 ПП
User 185980313
User 55055646
.another?.value

так это же тогда будет ошибкой, если another undefined, нет?
в C# такое есть, не будет ошибки
09:55:13 ПП
User 164545727
User 55055646
.another?.value

так это же тогда будет ошибкой, если another undefined, нет?
через Proxy можно это обработать
09:55:28 ПП
User 164545727
но проблема в том что js не понимает ? в имени переменной
09:55:47 ПП
User 164545727
а делать obj['value?']['another?'] не красиво
09:55:59 ПП
User 185980313
User 164545727
но проблема в том что js не понимает ? в имени переменной
напиши расширение для babylon и babel и будет понимать)
09:56:08 ПП
User 164545727
вот я склоняюсь к такому
09:56:16 ПП
User 164545727
но я огребу с подсветкой наверное
09:56:23 ПП
User 164545727
и анализатором в web storm
09:56:42 ПП
User 185980313
видел даже не оффициальный proporsal по этому функционалу
09:57:21 ПП
User 55055646
либо мб сделать специальное свойство у obj чтобы перейти в ?-режим, м?
вроде obj.суперфичаявыбираютебя.another.value
10:00:42 ПП
User 164545727
а это уже идея
10:01:11 ПП
User 55055646
воу, ляпнул что-то а кто-то оценил, счастье
10:01:49 ПП
User 185980313
User 55055646
либо мб сделать специальное свойство у obj чтобы перейти в ?-режим, м?
вроде obj.суперфичаявыбираютебя.another.value
это как?
10:04:45 ПП
User 164545727
ну в конечном виде это будет функция принимающая объект
10:04:53 ПП
User 164545727
мы же не хотим манки патчингом заниматься
10:25:15 ПП
User 122550876
User 164545727
чтобы можно было обращаться к объектам любой структуры не городя кучу if'ов
но ведь можно одним ифом
10:26:07 ПП
User 122550876
User 164545727
но из-за того что нельзя использовать вопросительный знак в имени переменной все это будет некрасиво выглядеть
Можно, есть же много вопросительных знаков, не обязательно брать стандартный
10:26:11 ПП
User 55055646
длинным. либо передавать путь строкой
10:26:29 ПП
User 55055646
User 122550876
Можно, есть же много вопросительных знаков, не обязательно брать стандартный
нестандартный писать неудобно будет
10:27:44 ПП
User 122550876
User 55055646
длинным. либо передавать путь строкой
Да и вообще есть lodash
10:27:55 ПП
User 122550876
там всё давно сделано
10:28:11 ПП
User 122550876
зачем эти кривые велосипеды?
10:28:27 ПП
User 55055646
весело же
10:28:47 ПП
User 122550876
User 55055646
нестандартный писать неудобно будет
Ага, то есть писать запрещенный спекой символ — это стандартно, так что ли?
10:29:05 ПП
10:29:06 ПП
User 122550876
User 55055646
весело же
А, тогда сорян, я думал мы практическую проблему решаем, а не развлекаемся
10:29:10 ПП
User 55055646
никто не говорит о стандартности
10:29:46 ПП
User 55055646
речь вообще о возможности и том как это удобно
10:29:52 ПП
User 55055646
запрещённый символ писать вообще нельзя
10:30:01 ПП
User 55055646
а нестандартный неудобно, его нет на клаве
10:30:15 ПП
User 122550876
Можно сделать своё надмножество языка
10:30:20 ПП
User 122550876
Где будет можно
10:30:24 ПП
User 122550876
если хотеть старнного
10:30:29 ПП
User 122550876
Типа КофеСкрипта
10:30:37 ПП
User 122550876
Назвать его ВопросСкрипт
10:30:49 ПП
User 55055646
была такая идея выше, но тогда надо это дело компилить, подсветку делать и т.д.
10:30:59 ПП
User 122550876
Ну очевидно
10:31:06 ПП
User 122550876
Потому что это не по спеке
10:31:24 ПП
User 122550876
То есть это не JS
10:31:47 ПП
User 55055646
да. поэтому и ищется какой-нибудь js-вариант
10:32:08 ПП
User 122550876
Вот он https://lodash.com/docs/4.17.3#property
10:32:36 ПП
User 55055646
нууу, ты упускаешь ключевой момент безудержного веселья :с
10:32:45 ПП
User 309556
вы элвис оператор изобретаете?
10:32:54 ПП
User 122550876
Нет, я исключаю момент бессмысленного страдания фигнёй
10:33:11 ПП
User 309556
не, вообще какая проблема-то?
10:33:23 ПП
User 122550876
User 309556
не, вообще какая проблема-то?
Никакой, человеку скучно просто
10:34:39 ПП
User 309556
просто можно же кучей нативных способов решить если про элвис оператор
10:34:57 ПП
User 309556
try-catch в конце концов
10:37:29 ПП
User 309556
вот еще _отчасти_ про это https://github.com/tc39/proposal-weakrefs
github.com/tc39/proposal-weakrefs
proposal-weakrefs - WeakRefs
11:36:10 ПП
User 76662447
User 164545727
ну в конечном виде это будет функция принимающая объект
presley(obj).very.long.path.__
11:38:05 ПП
User 76662447
И через отзываемые прокси бахнуть
11:38:37 ПП
User 76662447
Ну, чтобы не заскучать