Size: a a a

2020 September 07

RY

Ruslan Yand in RubyRush
И являются инструкциями на чистом С. Нужно будет почитать про это
источник

Э

Эдем in RubyRush
for вызывает each
источник

Э

Эдем in RubyRush
Denis Gavrilin
Почему? while раза в два быстрее loop
А быстрее как раз из-за того, что не блок. Блок создаёт локальные переменные новые
источник

DG

Denis Gavrilin in RubyRush
Эдем
А быстрее как раз из-за того, что не блок. Блок создаёт локальные переменные новые
Почему к вопросу о том, что не принятно использовать, я вот периодически использую например, в общем какая причина стоит за тем, что не принято. использовать? вот )
источник

N

Ni in RubyRush
Denis Gavrilin
Почему к вопросу о том, что не принятно использовать, я вот периодически использую например, в общем какая причина стоит за тем, что не принято. использовать? вот )
собственно, этому нет никакого объяснения
https://github.com/rubocop-hq/ruby-style-guide#infinite-loop

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

VV

Vadim Venediktov in RubyRush
Denis Gavrilin
Почему к вопросу о том, что не принятно использовать, я вот периодически использую например, в общем какая причина стоит за тем, что не принято. использовать? вот )
Ну как всегда, читаемость кода 🤷‍♂️
источник

VV

Vadim Venediktov in RubyRush
Ni
собственно, этому нет никакого объяснения
https://github.com/rubocop-hq/ruby-style-guide#infinite-loop

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

N

Ni in RubyRush
Vadim Venediktov
Вы питонист же в прошлом, да?
ну проф опыта мало, скорее я полноценное обучение начинал с питона
источник

VV

Vadim Venediktov in RubyRush
понял
источник

V

Valery in RubyRush
Denis Gavrilin
Почему к вопросу о том, что не принятно использовать, я вот периодически использую например, в общем какая причина стоит за тем, что не принято. использовать? вот )
Наверное всё дело в философии Ruby - читаемость кода человеком (англоязычным).
while true звучит как "пока истинно делай что-то". Это странно звучит - здесь не хватает условия.
А вот loop do ... end звучит - "сделай что-то в цикле".

Вот ещё примеры:
x.zero? звучит лучше чем x == 0
unless i > 10 звучит лучше чем if !(i > 10)
источник

N

Ni in RubyRush
Valery
Наверное всё дело в философии Ruby - читаемость кода человеком (англоязычным).
while true звучит как "пока истинно делай что-то". Это странно звучит - здесь не хватает условия.
А вот loop do ... end звучит - "сделай что-то в цикле".

Вот ещё примеры:
x.zero? звучит лучше чем x == 0
unless i > 10 звучит лучше чем if !(i > 10)
рубокоп заставит поменять x.zero? на x == 0, если я не ошибаюсь.
имхо, while true очень понятная для программиста конструкция "пока истина".
источник

DG

Denis Gavrilin in RubyRush
@installero @ValeryVasilkov Понятно, спасибо, хоть и не согласен на ровном месте идти в ущерб скорости
источник

K

Kirill Ilyin in RubyRush
Valery
Наверное всё дело в философии Ruby - читаемость кода человеком (англоязычным).
while true звучит как "пока истинно делай что-то". Это странно звучит - здесь не хватает условия.
А вот loop do ... end звучит - "сделай что-то в цикле".

Вот ещё примеры:
x.zero? звучит лучше чем x == 0
unless i > 10 звучит лучше чем if !(i > 10)
Как это нет условия в цикле while, когда вы его написали? x.zero? эта конструкция проигрывает конструкции x == 0 ровно в один символ, иногда это очень важно помнить про это.
источник

N

Ni in RubyRush
Ni
рубокоп заставит поменять x.zero? на x == 0, если я не ошибаюсь.
имхо, while true очень понятная для программиста конструкция "пока истина".
источник

K

Kirill Ilyin in RubyRush
Kirill Ilyin
Как это нет условия в цикле while, когда вы его написали? x.zero? эта конструкция проигрывает конструкции x == 0 ровно в один символ, иногда это очень важно помнить про это.
А если вообще пробелы не ставить, то вообще на 3 символа будет в выирыше последняя конструкция.
источник

DM

Dmitriy Tensei Malys... in RubyRush
у меня не подсвечивает, по стайл гайду вроде че то че то норм
источник

V

Valery in RubyRush
Как рубокоп настроешь так он и запоёт.

Я не понимаю почему .zero? хуже чем ==. Ведь оба являются методами.
источник

DM

Dmitriy Tensei Malys... in RubyRush
Valery
Как рубокоп настроешь так он и запоёт.

Я не понимаю почему .zero? хуже чем ==. Ведь оба являются методами.
может старый рубокоп или правила старые
источник

K

Kirill Ilyin in RubyRush
Valery
Как рубокоп настроешь так он и запоёт.

Я не понимаю почему .zero? хуже чем ==. Ведь оба являются методами.
Хуже по длине строки. Ровно на 1 символ или на 3 символа без пробелов.
источник

VV

Vadim Venediktov in RubyRush
Пробелы вокруг операторов нужны:

https://github.com/rubocop-hq/ruby-style-guide#spaces-operators

x.zero? и x == 0 — оба варианта ок:

https://github.com/rubocop-hq/ruby-style-guide#predicate-methods

Но да, любые рекомендации тут могут как приниматься, так и игнорироваться конкретной командой разработчиков и конфиг рубокопа можно настроить так или иначе для этого.
источник