
ojab
02.11.2016
09:41:59
дискуссия тут, https://gist.github.com/ojab/7a397a6d79cd8fcdf2d4b81ff289954f, продолжить можно в ruby_talks

Антон
02.11.2016
09:42:24

Alex
02.11.2016
09:42:32
А чего ты дискуссию по рубишному стайлгайду снял?

Google

Cyril
02.11.2016
09:43:30
Давайте лучше поспорим что должен знать молодой программист? :)

Alex
02.11.2016
09:43:39

ojab
02.11.2016
09:44:04
ну по стайлгайду можно продолжить и здесь, да. Но там про стайлгайд не сильно много сообщений и выбирать их среди 100+ бессмыслия и оскорблений мне было сильно неудобно.

Alex
02.11.2016
09:44:25
Т.е ты просто взял и снес все сообщения которые по теме конфы?

ojab
02.11.2016
09:45:47
что я снёс можно посмотреть по ссылке, с удовольствием посмотрю на ответный gist с сообщениями оттуда, которые по твоему мнению соответствуют теме конфы

Alex
02.11.2016
09:46:22
Ты обрезал идущую дискуссию по теме конфы.

Vitaly
02.11.2016
09:46:26
я так полагаю что присвоение в кондишн это типа - если присваивается то true если не присваивается то false но в Руби все присвается ко всему, разве нет?
то есть даже если тип другое он автоматом становится нужным типом
смысл тогда такое делать в руби?

Alex
02.11.2016
09:46:45

I
02.11.2016
09:46:51
a = b возвращает b

Vitaly
02.11.2016
09:46:51
ну

Alex
02.11.2016
09:47:28
ну
Дьячук выше скидывал пример юзания

Google

Иван
02.11.2016
09:48:20
Если b не определена, то а будет nil вроде
Или я путаю?

Alex
02.11.2016
09:49:26
2.3.1 :002 > a = b
NameError: undefined local variable or method `b' for main:Object
from (irb):2
from /home/sorenel/.rvm/rubies/ruby-2.3.1/bin/irb:11:in `<main>'

Vitaly
02.11.2016
09:49:57
и это что прикольно ловить такие ошибки?

Alex
02.11.2016
09:50:16
подразумевается что переменная есть.

Vitaly
02.11.2016
09:51:08
но она присвоит в таком случае хоть что
там не будет false, если я не ошибаюсь

Alex
02.11.2016
09:51:50
Model.create!(name: :someinvalidname) == false
соответственно
if model = Model.create(name: :someinvalidname)
# model created and in model variable
else
# failed to create
end
дьячук выше кидал примеры же, ну.

Иван
02.11.2016
09:53:02

Alex
02.11.2016
09:53:19
irb
2.3.1 :001 > b = b
=> nil
А вообще можно открыть консоль и самому посмотреть. У всех же выпадающие терминалы правда?

Иван
02.11.2016
09:54:07
Ага значит перепутал

Vitaly
02.11.2016
09:55:00

Admin
ERROR: S client not available

Vitaly
02.11.2016
09:55:06
как давно?

Alex
02.11.2016
09:55:24
он кидал примеры где присваивание в условии полезно. Вчера afaik

Vitaly
02.11.2016
10:00:18
я что-то не так делаю? но у меня код
2.2.3 :011?> if u = User.find(999)
2.2.3 :012?> puts u
2.2.3 :013?> else
2.2.3 :014 > puts false
2.2.3 :015?> end
User Load (0.1ms) SELECT "users".* FROM "users" WHERE "users"."id" = ? LIMIT 1 [["id", 999]]
ActiveRecord::RecordNotFound: Couldn't find User with 'id'=999
то есть вместо false вообще вываливается в ошибку.

Alex
02.11.2016
10:00:44
потому что find кидает ошибку

Google

Alex
02.11.2016
10:00:49
когда не находит
а find_by имеет то поведение какие ожидаешь.

Vitaly
02.11.2016
10:01:52
ну, да. прикольно.

Michael
02.11.2016
11:04:34
или
u = User.find(999)
if u.present?
puts u
else
puts false
end

Shumilkin
02.11.2016
11:06:51
puts (u.present? && u)

Vitaly
02.11.2016
11:07:52
речь о присвоении в условии

trickster
02.11.2016
11:08:17
кстати, а почему эти вопросы оффтопные? работа интерпретатора, вывод руби программ
что может быть ближе к руби?

Alex
02.11.2016
11:25:21
оффтоп это все что не нравится модераторам

ojab
02.11.2016
11:33:56

Alex
02.11.2016
11:34:45
Блжад, да конечно я сейчас буду бегать и тыкать в каждое конкретное сообщение