
Pavel
06.01.2017
22:36:51
Может кто нибудь объяснить сколько получится и почему? Спасибо

skynet
06.01.2017
22:38:55
все просто
сначала x присваивается 4, затем возвращается значение х(равное 4 теперь) и прибавляется 2, затем х прибавляется 1. В выводе дается изначальное значение х = 2. В итоге 9
чуть вернее не так) но х изначально равен 2

Google

Tanya
06.01.2017
22:41:55
puts demo(2) это значит что ты методу вводишь значение 2,
ну а дальше уже по счету прибавления идут
ты вызываешь метод со значением 2

Андрей
06.01.2017
22:42:55
2+4+2+1

skynet
06.01.2017
22:44:17
короче return вернет 8

Shulk
06.01.2017
22:46:26
1. в puts demo (2) мы говорим, что x = 2
2. По очереди выполняются операции:
x = 2 + 4 // получаем 6
return 6 + 2 // получаем 8
x = 8 + 1 // получаем 9
Тут неудобная форма записи новичков может сбить с толку.

Tanya
06.01.2017
22:48:07

Shulk
06.01.2017
22:48:45
И стоит помнить, что сначала мы выполняем действие справа, а затем присваиваем то, что получилось, переменной слева.
Почему у всех разный результат? :)

Андрей
06.01.2017
22:49:38
у всех одно и то же только разными словами))))
тебе одному было не лень расписать совсем простым языком

skynet
06.01.2017
22:50:14
?? таки да, как не крути в итоге 9 выходит

Google

skynet
06.01.2017
23:11:58
Попробуй поставить demo(2) перед def в начало

Dmitry
06.01.2017
23:20:58
return прекращает выполнение и возвращает правую часть от себя, как 9 получиться может?

Pavel
06.01.2017
23:28:07
Вообще ответ правильный 8
Есть желание разобраться как 8ка получается

Dmitry
06.01.2017
23:29:40

Tanya
06.01.2017
23:30:24
предпоследняя строчка просто не считается
там где +1

Shulk
06.01.2017
23:30:31
Чуть выше написали верно: return прекращает выполнение и возвращает правую часть от себя.
Все, что после return, уже не имеет значения.

Pavel
06.01.2017
23:31:09

Dmitry
06.01.2017
23:31:36
А вот если return не будет то вернется последняя строка

Shulk
06.01.2017
23:31:38
Поэтому функция вернет 8. Если провести все операции до конца (просто из интереса), то x = 9 (но это неважно, т.к. у нас return).

Ro
07.01.2017
00:18:06
реально плохой пример. eslint бы на такое выдал, что нельзя изменять параметр, передаваемый в функцию. Это плохой код. Насчет rubocop'а не уверен, возможно тоже. Если вы не ответили на этот вопрос, то ЭТО НОРМА :)
простенькая инфографика про то, как работают рельсы https://i.redd.it/g468ytw6fh8y.png

Nikolai
09.01.2017
04:49:45
К слову, об инфографике
Вот несколько памяток по RoR

skynet
09.01.2017
06:23:17
?спасибо

Nikolai
09.01.2017
17:22:29
вопрос есть по Rails

Google

Nikolai
09.01.2017
17:22:55
можно ли как-то сделать так, чтобы рельсы автоматически генерировали данные для ячейки таблицы
пример, я создаю пост, в посте указываю заголовок и содержание, нажимаю кнопку отправить
при этом в базе данных в таблице articles создаётся ещё одна запись с id = 1, title = заголовок, article = содержание статьи
я добавил при помощи миграции в таблицу ещё один столбец inturl
и хочу, чтобы в него в данном случае записалось links/1
как я могу это сделать?
ну то есть, чтобы в столбец inturl автоматом добавилось значение links/1 как только я нажал кнопку "отправить"

Henry
09.01.2017
17:29:03
Не очень ясно. Если ты хочешь чтобы при создании туда записывалось то это можно сделать на уровне контроллера(перед сохранением добавлять новую инфу) или на уровне модели (повести колбек на создание и тоже производить манипуляции)
Грубо говоря не просто
@article = Article.new (params)
@article.save
А ещё добавить между этими двумя строчками
@article.inturl = "link/1"

Nikolai
09.01.2017
17:32:19
мне нужно, чтобы цифру 1 брало из id
объясню полностью ситуацию
я сделал приложение по этому видеоуроку https://www.youtube.com/watch?v=7-1HCWbu7iU
и сейчас выправляю косяки и чиню то, что работало у автора и не работает у меня

Vitaly
09.01.2017
17:46:05
Используй callback в модели - after_create и формируй в нем строку для своего поля, а затем сохраняй.

Nikolai
09.01.2017
17:46:58
если честно, эта задача уже не совсем актуальна
так как такое решение объективно кривое
я нашёл немного другой способ, который в целом работает, но приводит к косяку в оформлении моего клона Реддита
ща, сделаю нормальный репозиторий на гитхабе и покажу, что я там намудрил

Vitaly
09.01.2017
17:48:44
Ок

Dan
09.01.2017
19:04:58
привет чат

Google

Dan
09.01.2017
19:05:04
всех с прошедшими праздниками

Fuzzy
09.01.2017
19:05:13
привет, и тебя с прошедшими :)

Dan
09.01.2017
19:06:12
если что, кстати, на одном популярном сайте появилась книжка от О'рили по Руби ?

Tanya
09.01.2017
19:09:59
что за книжка? =)

Vitaly
09.01.2017
19:10:23
Давай ссылку

Tanya
09.01.2017
19:10:30
или название книжки)

Dan
09.01.2017
19:13:03
viewtopic.php?t=5338454 ?
Head First O'Reilly - Макгаврен Дж. - Изучаем Ruby [2016, PDF, RUS]
добавил ваш чатик в список: https://github.com/goq/telegram-list#Языки-программирования
если у кого есть еще интересные ссылки по тематике Руби - буду очень признателен.

Ro
09.01.2017
19:21:55
популярные сайты рулят) всегда там что-то новенькое появляется лол)

Dan
09.01.2017
19:22:45
Правда я не уверен, еще не читал эту книгу, но обычно книги от этого издательства более чем прекрасны

Ro
09.01.2017
19:25:18
добавь еще моего бота @libretaxi_bot (http://libretaxi.org) в список
(отредактировал)

Dan
09.01.2017
19:26:04
Ок :-) кстати, бот на руби?

Ro
09.01.2017
19:27:07
а вот нет, на js)
код: https://github.com/ro31337/libretaxi

Dan
09.01.2017
19:27:49
Лёша делал бота на Руби, кстати

Shulk
09.01.2017
22:37:15
У меня такой вопрос появился: верно ли я полагаю, что ниже написано одно и то же, только разная запись?
rails generate migration add_user_to_posts user:references
rails generate migration add_user_id_to_posts
Если нет, то в чем именно разница в этих случаях?

Google

skynet
09.01.2017
23:34:56
а что именно тебе надо сделать? нужен user и posts у каждого юзера?
тогда что то в стиле rails g model user
rails g model post user:references
user_id будет подтягиваться автоматически из базы
но и в моделях укажи зависимости
если честно не думаю что одно и то же)

Shulk
09.01.2017
23:43:08
Мне интересно, добавляется ли в первом случае user_id к posts или же добавляется именно просто user, как и прописано.