@proRuby

Страница 1480 из 1594
Кирилл
26.09.2018
11:10:41
так часто и пишут, вполне нормально выглядит

Максим
26.09.2018
11:10:46
вроде многим такая конструкция тоже не всем нравится

Кирилл
26.09.2018
11:12:11
https://github.com/airbnb/ruby#nested-conditionals

Максим
26.09.2018
11:13:48
ну здесь видишь ретёрн всё равно как бы после действия

Google
Максим
26.09.2018
11:14:09
я именно о тех случаях говорил что "вроде не всем нравистя" когда ретёрн перед действием

Anton
26.09.2018
11:14:11
Максим
26.09.2018
11:14:37
давот это тоже вроде ответ вполне

хотя

если кондишн фолс

а код тру

то мне то надо чтоб тру вернулось

а это вроде фолс вернёт тогде не?

Кирилл
26.09.2018
11:15:18
Так тебе нужно после выполнения кода вернуть true, а не результат выполнения кода?

Максим
26.09.2018
11:15:35
результат

Максим
26.09.2018
11:15:54
ну если код тру

типа то что сделал код вернуло тру

Google
Anton
26.09.2018
11:16:11
что тебе вообще сделать надо?

не вернуть, а именно сделать

Максим
26.09.2018
11:17:03
ну у меня короче так проверяется есть ли ключ в хеше, если есть то проверяется значение лемента по этому ключу, типа подходил ли оно под условие, если же ключа нет в хеше то сразу возвращаем фолс

Кирилл
26.09.2018
11:17:09
!!condition && code
какой-то js-ный прикол, так в Руби делают вообще часто?

Максим
26.09.2018
11:17:20
у меня ща так if STATUS_AND_FORM_KEY_TO_DISABLE.key?(status) STATUS_AND_FORM_KEY_TO_DISABLE[status].include?(form_key) else false end но я думаю что можно лучше

Anton
26.09.2018
11:17:38
я часто делаю, только без !!

STATUS_AND_FORM_KEY_TO_DISABLE.key?(status) && TATUS_AND_FORM_KEY_TO_DISABLE[status].include?(form_key)

Anton
26.09.2018
11:18:26
ну или совсем тупо if STATUS_AND_FORM_KEY_TO_DISABLE.key?(status) STATUS_AND_FORM_KEY_TO_DISABLE[status].include?(form_key) end

а

Максим
26.09.2018
11:18:47
Anton
26.09.2018
11:18:48
не смотри на варинат выше

Максим
26.09.2018
11:19:02
да вот мне тоже тот вариант понравился

спасибо

Anton
26.09.2018
11:19:07
что в статусе возвращаться должно?

массив?

Максим
26.09.2018
11:19:31
Anton
26.09.2018
11:19:31
nil

Google
Максим
26.09.2018
11:19:42
Anton
26.09.2018
11:19:44
да
STATUS_AND_FORM_KEY_TO_DISABLE.fetch(status, []).include?(form_key)

Максим
26.09.2018
11:19:55
ооооо

охуенно

спасибо

Anton
26.09.2018
11:20:19
обращайся

Кирилл
26.09.2018
11:20:47
nil
в смысле? там же условный оператор, с чего там nil-то?

Максим
26.09.2018
11:22:30
ой ребят ещё вопрос

Кирилл
26.09.2018
11:22:46
аа, тьфу, это ж условие, сорян) я про следующий код и забыл вовсе)

Максим
26.09.2018
11:22:56
вот мы когда пишем о том что мол такой то метод экземпяра в таком то классе, то используем такую нотацию Class#method

Anton
26.09.2018
11:22:59
бывает такое, сам часто ебусь

Максим
26.09.2018
11:23:07
а есть какая нотация чтоб показать что типа метод приватный?

Tim
26.09.2018
11:23:15
и признак того что надо обмазаться дополнительным классом

Максим
26.09.2018
11:23:35
длинное название переменной или какойто хуйни - имхо кодсмелл
тоже так думаю, но выразительнее ничего не придумал

Tim
26.09.2018
11:23:43
в котором и будет твоя логика

Google
Tim
26.09.2018
12:03:36
ааааааа

Anton
26.09.2018
12:04:31
Lupsick
26.09.2018
12:04:42
вполне норм

ну можно .dig(status)

не читаемо из-за названия константы

Anton
26.09.2018
12:05:05
ну смотри, вместо вызова 2ух методов, ты вызываешь 4

Lupsick
26.09.2018
12:05:17
2 метода

или ты имеешь в виду безопасный вызов?

Anton
26.09.2018
12:05:43
STATUSES&.[](status)&.include?(form_key) STATUSES.fetch(status, []).include?(form_key)

ага

Lupsick
26.09.2018
12:05:55
ну твой вариант тоже ок

Anton
26.09.2018
12:06:16
ну типо вот это совсем боль &.[](status)

Lupsick
26.09.2018
12:06:19
я пишу через безопасный вызов мне ок

Anton
26.09.2018
12:06:44
можно было сделать даже проще, вот так STATUSES[status]&.include?(form_key)

Tim
26.09.2018
12:06:51
всё боль

если в названии переменной больше чем существительное(+прилагательное), то в ней слишком много логики

и что их связывает и какой смысл и как используется

Google
Nikita
26.09.2018
12:13:49
если в названии переменной больше чем существительное(+прилагательное), то в ней слишком много логики
Ты смотрел недавние скринкасты от DHH? он там в одном из первых переменную вообще почти целым предложением называет

Tim
26.09.2018
12:20:02
class Status def initialize(form_keys) @form_keys = form_keys end def form_key?(form_key) @form_keys.include?(form_key) end end class Statuses def initialize(status_and_form_key_hash) @statuses = status_and_form_key_hash.map { |k, v| [k, Status.new(v)] }.to_h end # naming of this method is debatable def include?(status_name, form_key) @statuses[status_name]&.include?(form_key) end end to_delete = Statuses.new(STATUS_AND_FORM_KEY_TO_DELETE) to_delete.include?(status, form_key)

разрешаю обоссать данный код

(если сможете)

Lupsick
26.09.2018
12:21:05
Dima
26.09.2018
12:21:17
@statuses[status_name]&.include?(form_key) а вот это вообще работает?

Dima
26.09.2018
12:21:31
аперсант зачем?

Tim
26.09.2018
12:21:34
чому бы нет?

Alex
26.09.2018
12:21:41
аперсант зачем?
ты ща серьезно? )))

Anton
26.09.2018
12:21:51
что бы не писать @statuses[status_name] && @statuses[status_name].include?(form_key)

Dima
26.09.2018
12:22:01
ты ща серьезно? )))
о карманный хейтре, не на долго же тебя хватило без меня.

Tim
26.09.2018
12:22:04
a&.b(c) тождественно a && a.b(c)

Dima
26.09.2018
12:22:14
Alex
26.09.2018
12:22:36
я не знал.
подпишись на ruby weekly

Страница 1480 из 1594