Вопросы с тегом «ruby»

Ruby - это многоплатформенный динамический объектно-ориентированный интерпретируемый язык с открытым исходным кодом, созданный Юкихиро Мацумото (Matz) в 1995 году. Тег [ruby] предназначен для вопросов, связанных с языком Ruby, включая его синтаксис и его библиотеки. Вопросы по Ruby on Rails должны быть помечены [ruby-on-rails].

4
RSpec: как проверить, был ли вызван метод?
При написании тестов RSpec я обнаружил, что пишу много кода, который выглядит следующим образом, чтобы гарантировать, что метод был вызван во время выполнения теста (в качестве аргумента, скажем так, я не могу действительно опросить состояние объекта после вызова, потому что действие, выполняемое методом, нелегко увидеть). describe "#foo" it "should call …



4
Создание переменных модуля в Ruby
Есть ли способ создать переменную в модуле в Ruby, которая будет вести себя аналогично переменной класса? Я имею в виду, что к нему можно будет получить доступ без инициализации экземпляра модуля, но его можно изменить (в отличие от констант в модулях).

4
Как записать в файл JSON в правильном формате
Я создаю хеш в Ruby и хочу записать его в файл JSON в правильном формате. Вот мой код: tempHash = { "key_a" => "val_a", "key_b" => "val_b" } fJson = File.open("public/temp.json","w") fJson.write(tempHash) fJson.close А вот содержимое получившегося файла: key_aval_akey_bval_b Я использую Sinatra (не знаю, какую версию) и Ruby v 1.8.7. …
111 ruby  json  file 


5
Разница между «..» (двойная точка) и «…» (тройная точка) в генерации диапазона?
Я только начал изучать Ruby и Ruby on Rails и наткнулся на код проверки, который использует диапазоны: validates_inclusion_of :age, :in => 21..99 validates_exclusion_of :age, :in => 0...21, :message => "Sorry, you must be over 21" Сначала я подумал, что разница заключается во включении конечных точек, но в документации по API, …
111 ruby  syntax  range 

4
Ruby on Rails: как добавить нули перед числом, если оно меньше 10?
Я хочу преобразовать однозначные числа в двузначные числа следующим образом: 9 ==> 09 5 ==> 05 12 == 12 4 ==> 04 Я полагаю, что мог бы поставить кучу операторов if-else (если число меньше 10, то сделайте gsub), но считаю, что это ужасное кодирование. Я знаю, что в Rails есть …

2
Rails: ведение журнала всей трассировки стека исключения
Я пытался найти правильный способ записи трассировки стека. Я наткнулся на эту ссылку, в которой говорится, что logger.error $ !, $ !. backtrace - это путь, но это не работает для меня, log_error . Согласно документации, я не понимаю, как передача второго аргумента методу ошибки будет работать в любом случае, …


14
Ruby: как преобразовать строку в логическое значение
У меня есть значение, которое будет одним из четырех: логическое истина, логическое ложь, строка «истина» или строка «ложь». Я хочу преобразовать строку в логическое значение, если это строка, в противном случае оставьте ее неизменной. Другими словами: "правда" должно стать правдой "ложь" должна стать ложной правда должна оставаться верной ложь должна …

30
Ошибка при установке Nokogiri на OSX 10.9 Maverick?
Я обновил свой OSX (Lion) до Mavericks и не могу установить Nokogiri для своих проектов. Я уже установил XCode 5.0.1, Инструменты командной строки (using xcode-select --install) и уже установил libxml2 из Homebrew, и у меня все еще возникают проблемы. Ошибка: Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension. /Users/ericcamalionte/.rvm/rubies/ruby-1.9.2-p320/bin/ruby extconf.rb …

11
ruby 1.9: неверная последовательность байтов в UTF-8
Я пишу краулер на Ruby (1.9), который потребляет много HTML с множества случайных сайтов. При попытке извлечь ссылки я решил просто использовать .scan(/href="(.*?)"/i)вместо nokogiri / hpricot (значительное ускорение). Проблема в том, что теперь я получаю много " invalid byte sequence in UTF-8" ошибок. Насколько я понял, в net/httpбиблиотеке нет каких-либо …
109 ruby  encoding  utf-8 


14
Как сравнить два хеша?
Я пытаюсь сравнить два хэша Ruby, используя следующий код: #!/usr/bin/env ruby require "yaml" require "active_support" file1 = YAML::load(File.open('./en_20110207.yml')) file2 = YAML::load(File.open('./locales/en.yml')) arr = [] file1.select { |k,v| file2.select { |k2, v2| arr << "#{v2}" if "#{v}" != "#{v2}" } } puts arr На экран выводится полный файл из file2. Я …
109 ruby  hash 

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.