Size: a a a

Ruby, Rails, Hanami | dry-rb

2020 March 13

DS

David Salamau in Ruby, Rails, Hanami | dry-rb
мне кажется, просто недопонимание. @nikitabatrak сравнивал варианты написания через dig и через try, в данном контексте try не очень )
источник

ЖМ

Жека Москальов in Ruby, Rails, Hanami | dry-rb
я новичок у меня вопрос чем конкретно запись (params.dig(:message) || {}).keys отличаеться от записи params[:message].keys
просто и то и то работает, как лучше? и чем?
источник

NB

Nikita Batrak in Ruby, Rails, Hanami | dry-rb
Alex A
так какие претензии к try я так и не понял? по производительности? по памяти? или концептуальные?
какая разница, если он по всему проигрывает?)
источник

NB

Nikita Batrak in Ruby, Rails, Hanami | dry-rb
источник

DS

David Salamau in Ruby, Rails, Hanami | dry-rb
Жека Москальов
я новичок у меня вопрос чем конкретно запись (params.dig(:message) || {}).keys отличаеться от записи params[:message].keys
просто и то и то работает, как лучше? и чем?
в первом случае, если нужный параметр не прилетит, то ошибки не будет. во втором, приложение упадет с 500 ошибкой
источник

AB

Artur Borisovich in Ruby, Rails, Hanami | dry-rb
Это было очевидно)))
источник

NB

Nikita Batrak in Ruby, Rails, Hanami | dry-rb
Жека Москальов
я новичок у меня вопрос чем конкретно запись (params.dig(:message) || {}).keys отличаеться от записи params[:message].keys
просто и то и то работает, как лучше? и чем?
.keys не сработает на nil
источник

NB

Nikita Batrak in Ruby, Rails, Hanami | dry-rb
Artur Borisovich
Это было очевидно)))
да на самом деле основной консерн на вложенности больше чем 1
источник

NB

Nikita Batrak in Ruby, Rails, Hanami | dry-rb
потому что у тебя идет чейн из траев
источник

h

hwe in Ruby, Rails, Hanami | dry-rb
Косински?))
источник

NB

Nikita Batrak in Ruby, Rails, Hanami | dry-rb
hwe
Косински?))
я не знаю что это значит)
источник

AA

Alex A in Ruby, Rails, Hanami | dry-rb
имя отчество
источник

h

hwe in Ruby, Rails, Hanami | dry-rb
Nikita Batrak
я не знаю что это значит)
Это такой дикий писатель)
источник

NB

Nikita Batrak in Ruby, Rails, Hanami | dry-rb
так у него одна "ж"
источник

h

hwe in Ruby, Rails, Hanami | dry-rb
Nikita Batrak
так у него одна "ж"
точно)
источник

NB

Nikita Batrak in Ruby, Rails, Hanami | dry-rb
David Salamau
в первом случае, если нужный параметр не прилетит, то ошибки не будет. во втором, приложение упадет с 500 ошибкой
кстати вспоминал название статьи еще: https://coderwall.com/p/nnmjjq/try-method-do-you-need-it
источник

AD

Anton Davydov in Ruby, Rails, Hanami | dry-rb
David Salamau
а так это просто холивар, говорить, что try говно, потому что AS, хотя проект явно на rails
Есть довольно много статей об этом

https://karolgalanciak.com/blog/2017/09/24/do-or-do-not-there-is-no-try-object-number-try-considered-harmful/

https://medium.com/@CohenCarlisle/why-you-shouldnt-be-using-rails-try-for-nil-safe-navigation-in-ruby-d3123a3965ac

Если тлдр, то сам трай это хак для проблемы nil значений. При этом, можно понять, что использования минимальной проверки типов или добавления абстракции выглядит не так круто как написать try.
источник

DS

David Salamau in Ruby, Rails, Hanami | dry-rb
статья хорошая, опять же, повторюсь, я не за то, чтобы пихать методы направо и налево и не искать более эффективные альтернативы. я за то, чтобы использовать инструменьы по назначению и не относиться к ним личностно
источник

AD

Anton Davydov in Ruby, Rails, Hanami | dry-rb
Anton Davydov
Есть довольно много статей об этом

https://karolgalanciak.com/blog/2017/09/24/do-or-do-not-there-is-no-try-object-number-try-considered-harmful/

https://medium.com/@CohenCarlisle/why-you-shouldnt-be-using-rails-try-for-nil-safe-navigation-in-ruby-d3123a3965ac

Если тлдр, то сам трай это хак для проблемы nil значений. При этом, можно понять, что использования минимальной проверки типов или добавления абстракции выглядит не так круто как написать try.
А ещё трай медленный был ибо там был метод миссинг
источник

NB

Nikita Batrak in Ruby, Rails, Hanami | dry-rb
David Salamau
статья хорошая, опять же, повторюсь, я не за то, чтобы пихать методы направо и налево и не искать более эффективные альтернативы. я за то, чтобы использовать инструменьы по назначению и не относиться к ним личностно
так я банальный объективный пример выше привел
источник