This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2016-04-20
Channels
- # beginners (35)
- # boot (81)
- # braveandtrue (7)
- # cider (74)
- # cljs-dev (52)
- # cljsrn (5)
- # clojure (114)
- # clojure-austin (1)
- # clojure-belgium (3)
- # clojure-brasil (8)
- # clojure-czech (7)
- # clojure-greece (18)
- # clojure-ireland (1)
- # clojure-russia (67)
- # clojure-uk (11)
- # clojurescript (52)
- # core-async (5)
- # core-matrix (3)
- # cursive (13)
- # data-science (3)
- # datomic (8)
- # emacs (80)
- # events (2)
- # hoplon (8)
- # immutant (7)
- # jobs-discuss (3)
- # juxt (25)
- # ldnproclodo (21)
- # leiningen (27)
- # mount (24)
- # off-topic (6)
- # om (23)
- # onyx (48)
- # parinfer (1)
- # proton (4)
- # re-frame (41)
- # reagent (9)
- # spacemacs (8)
- # untangled (122)
Добрый день. Это только мне кажется что вот это вот как-то непрозрачно?
user=> (true? :a)
false
а ты предпочел бы, чтобы кложура в рантайме ругалась на то, что ты в if засунул не boolean?
ok. наверно это правильно. просто я привык что if проверяет на истинность, а true? :a
в таком случае было бы не единообразней выдавать тоже true ведь вроде Both nil and false are treated as "false" and everything else is treated as true
Хорошую тему подняли, а функция truthy? есть?
на самом деле засада. вот я новичок, разбираюсь в функции, думаю мол упростить, чтобы разобраться, затруфить что-то, посмотреть как там если допустим истина, тут бац, и к истине подход эээээ... ортогональный
дада, лучше как в JS - строчка пустая, пустой массив, null, undefined
а в жаве как? там в if можно тока boolean expression проверять да?
джава не при чем. речь то о жс. но если что-то приравнивается к true я бы ожидал что встроенный метод проверяющий на true? выдаст true. ну ок, согласен может у меня логика кривая
@andmed: Это потому что true?
проверяет не истинность (предикат метауровня), а то, является ли проверяемое объектом true
(предикат объектного уровня), как и другие X?
-предикаты.
правд пришлось форкнуть и внести фикс который на jsonp даже в случае ошибок запроса будет возвращать 200ok
Кто-нибудь делал более-менее реальный проект на Rum? Как отделить состояние от приложения, чтобы не прокидывать его по всему дереву компонентов? Есть устоявшийся подход типа re-frame?
@roman01la: датаскрипт
датаскрип, как упоминали ранее
я громадные вьюхи корнем подписывал на атом или датаскрипт, value сливал вниз по дереву как аргументы, писал в атом/дс, рутовое вью перерисовывало всё (ну типа реакт, совсем не всё) дерево на любое изменение
@misha: а как мутации делать? прямиком в атом писать?
альтернатива - подписывать каждый компонент на свой карманчик стейта и менеджить кучу вьюх и кучу атомов или чего-там, я так сейчас воркэраундю медленный датаскрипт - такой гемор, и код ветвистый слишком, фу
хотелось бы отвязать атом от вьюх
точняк 😅
ну а как? функция save-some-attr
, которая внутри либо в канал пишет, либо в атом. вьюха полюбому должна кого-то вызвать, а сколько индерекшена в этом ком-то - дело твое уже
ну я хотел узнать, есть ли общепринятый паттерн для Rum
но самый прямолинейный код - подписывать рут вью на атом/базу, и спускать значение вниз как аргументы
вот с этим и проблема для новичков, мне так кажется. В Reagent есть re-frame и тебе сразу сказано как это делать. А с тем же Rum ты не знаешь как к этому подойти, что бы потом твой проект нормально развивался.
просто не #(swap! A update-in [:i :poneslas :жaRa :tut :ваще] %)
, а update-my-attr
, и в нем уже свапай или в датаскрипт пиши, или на сервер звони
и в неймспейс другой сложи (но не сразу) эти update-my-attr. этого достаточно, пока не станет ясно где и как тесно
ок, понял. спасибо
а что за две библиотеки (почему именно они) на странице http://clojure.ru/libraries.html ?
@petr.myain: оу, приношу свои извинения. это задумывалось как список репозиториев, где есть большая активность. т.е. метрикой интереса были не звезды (такой дайджест сам гитхаб присылает если фолливишь правильных людей), а именно заметить, что кто-то в течении недели активно коммитит в clj репо. я постараюсь починить asap
Господа, тут недавно был пост, в котором binding
— это code smell. А я нахожу его удачным решением для i18n.
Это спасает от пробрасывания переводов по всему дереву компонентов. Ну а на клиенте можно собрать js под разные языки. Как считаете, норм кейс?
@s_zharinov: ну а биндинг как ты динамически будешь менять?
думаю текущий язык пользователя хранить в куки, перед рендером на сервере его смотреть и подставлять нужный хэшмап