ruby- все статьи тега ➜ страница 4


Есть ли цикл "do ... while" в Ruby?

Я использую этот код, чтобы позволить пользователю вводить имена, пока программа хранит их в массиве, пока они не введут пустую строку (они должны нажать enter после каждого имени): people = [] info = 'a' # must fill variable with something, otherwise loop won't execute while not info.empty? info = gets.chomp people += [Person.new(info)] if not info.empty? end этот код будет выглядеть намного лучше в do ... в то время как цикл: people = [] do info = gets.chomp people += [Pe ...

Разница между классом и модулем

Я пришел с Java, и теперь я больше работаю с Ruby. одна языковая особенность, с которой я не знаком, - это module. Мне интересно, что именно такое module и когда вы используете один, и зачем использовать module на class? ...

Что такое двойное двоеточие Руби`::'?

что это за двоеточие ::? Е. Г. Foo::Bar. нашел определение: The :: является унарным оператором, который позволяет: константы, методы экземпляра и методы класса, определенные в классе или модуле, для доступа из любого места за пределами класса или модуля. что хорошего в scope (private, protected), если вы можете просто использовать :: что-нибудь выставить? ...

В чем разница между include и extend в Ruby?

просто пытаюсь разобраться с метапрограммированием Руби. Mixin / modules всегда удается запутать меня. включить: смешивает в указанных методах модуля как методы экземпляра в целевом классе расширения: смешивает в указанных методах модуля как методы класса в целевом классе так что основная разница только это или больше дракон прячется? например, module ReusableModule def module_method puts "Module Method: Hi there!" end end class ClassThatIncludes include ReusableModule end clas ...

Как вы находите min / max с Ruby?

Я хочу сделать что-то простое и понятное, как min(5,10) или Math.max(4,7). Есть функции для этого в Ruby? ...

Как мне получить имя класса Ruby?

как я могу получить имя класса из объекта ActiveRecord? Я: result = User.find(1) пробовал: result.class # => User(id: integer, name: string ...) result.to_s # => #<User:0x3d07cdc>" мне нужно только имя класса в виде строки (User в данном случае). Есть ли способ для этого? Я знаю, что это довольно просто, но я искал документы Rails и Ruby, и я не мог его найти. ...

Рельсы: включить против: присоединяется

это скорее вопрос "почему все так работает", а не вопрос" я не знаю, как это сделать"... таким образом, Евангелие о вытягивании связанных записей, которые вы знаете, что собираетесь использовать, - это использовать :include потому что вы получите соединение и избежать целую кучу дополнительных запросов: Post.all(:include => :comments) однако, когда вы смотрите на журналы, там соединения не происходит: Post Load (3.7ms) SELECT * FROM "posts" Comment Load (0.2ms) SELECT "comments.*" FR ...

Удаление старых версий Ruby gems

У меня есть несколько версий Руби Перл: $ gem list rjb (1.3.4, 1.3.3, 1.1.9) Как я могу удалить старые версии, но оставить последний? ...

Как я могу указать локальный камень в моем Gemfile?

Я бы хотел, чтобы Bundler загрузил местный драгоценный камень. Есть ли вариант для этого? Или мне нужно переместить папку gem в нее .каталог пакетов? ...

Как найти, где метод определяется во время выполнения?

недавно у нас была проблема, когда после серии коммитов произошел сбой бэкэнд-процесса. Теперь мы были хорошими маленькими мальчиками и девочками и бежали rake test после каждой регистрации, но из-за некоторых странностей в загрузке библиотеки Rails это произошло только тогда, когда мы запустили его непосредственно из Mongrel в производственном режиме. я отследил ошибку, и это было связано с новым драгоценным камнем Rails, перезаписывающим метод в классе String таким образом, что он нарушил одн ...

Каков наилучший метод обращения с валютой / деньгами?

Я работаю над очень простой системой корзины покупок. у меня есть таблица items Это имеет столбец price типа integer. у меня возникли проблемы с отображением значения цены в моих представлениях для цен, которые включают в себя как евро, так и центы. Я упускаю что-то очевидное в том, что касается обработки валюты в рамках Rails? ...

Каков "правильный" способ итерации через массив в Ruby?

PHP, при всех его бородавках, довольно хорош в этом отношении. Нет никакой разницы между массивом и хэшем (может быть, я наивен, но это кажется мне очевидным), и для итерации либо вы просто делаете foreach (array/hash as $key => $value) в Ruby есть куча способов сделать такие вещи: array.length.times do |i| end array.each array.each_index for i in array хэши имеют больше смысла, так как я просто всегда использую hash.each do |key, value| почему я не могу сделать это для массивов? ...

Получение вывода вызовов system() в Ruby

Если я вызываю команду с помощью ядра# в Ruby, как я могу получить его выход? system("ls") ...

У ruby есть реальная многопоточность?

Я знаю о "кооперативной" резьбе ruby с помощью зеленые нити. Как я могу создать реальные потоки "уровня ОС" в своем приложении, чтобы использовать несколько ядер процессора для обработки? ...

Перечисления в Ruby

каков наилучший способ реализации идиомы перечисления в Ruby? Я ищу что-то, что я могу использовать (почти), как перечисления Java/C#. ...

В чем разница между require relative и require в Ruby?

в чем разница между require_relative и require в Ruby? ...

p vs ставит в Рубин

есть ли разница между p и puts в Ruby? ...

Сортировка массива в порядке убывания в Ruby

у меня есть массив хэшей, как после [ { :foo => 'foo', :bar => 2 }, { :foo => 'foo', :bar => 3 }, { :foo => 'foo', :bar => 5 }, ] Я пытаюсь отсортировать выше массив в порядке убывания в соответствии со значением :bar в каждой хэш. я использую sort_by как после сортировки выше массива. a.sort_by { |h| h[:bar] } однако выше сортирует массив в порядке возрастания. Как мне сделать сортировку в порядке убывания? одним из решений было сделать следующее: a.sort_by { |h ...

В чем разница между print и puts?

например, в этой строке кода я написал:print и puts дают разные результаты. 1.upto(1000).each { |i| print i if i % 2 == 0 } ...

установка rvm не работает: "RVM-это не функция"

Я только что установил RVM, но не могу заставить его работать. У меня есть такая строка в конце моего .profile file: [[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" Я пытался бежать source .profile и перезапуск терминала, но все же, когда я запускаю rvm use 1.9.2 Я: RVM is not a function, selecting rubies with 'rvm use ...' will not work. моя система Ubuntu 11.10. ...