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. ...