точка с запятой как разделитель операторов в Консоли направляющих

Вы можете использовать метод eval(), чтобы обойти ограничение голого слова:

eval "\$num=0b$str;";
6
задан Simone Carletti 24 July 2009 в 20:35
поделиться

3 ответа

Вы должны сказать «пользователь». поэтому Ruby знает, что вы хотите вызвать методы присвоения атрибутов экземпляра user. В противном случае вы просто устанавливаете локальные переменные с именем hashed_password и т. Д.

>> user.username = "John"; user.hashed_password = "John"; user.first_name = "John"; user.last_name = "coltrane"; user.email = "John@coltrane.com"; user.display_name = "Johndispay"; user.user_level = 9; 

Хотя вы можете просто передать хэш атрибутов, которые хотите установить в новом экземпляре, например, так

>> user = User.new(:username => "John", :hashed_password => "John", ...
8
ответ дан 8 December 2019 в 18:41
поделиться

Это конечный; на вашем входе. Когда вы ставите ';' в конце IRB предположит, что вы хотите добавить еще один оператор. Если вы оставите его выключенным, он оценит все операторы и вернет значение, возвращаемое последним.

Иногда, если вызываемый мной метод будет возвращать большой массив, я сделаю что-то вроде этого ...

a = Account.entries; a.size

Это сохранит нужные мне значения и просто выведет размер массива вместо того, чтобы пытаться выгрузить его на консоль, что может занять много времени, если он большой.

4
ответ дан 8 December 2019 в 18:41
поделиться

вы уверены, что не имели в виду

user.username = "John"; user.hashed_password = "John";

я пробовал

>> a = 1; b= 2
=> 2

>> a
=> 1

>> b
=> 2

, когда что-то не работает, вы можете использовать одно правило: всегда сводите его к простейшему случаю.

1
ответ дан 8 December 2019 в 18:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: