Ruby - переопределение строковых методов в отдельном файле - PullRequest
0 голосов
/ 13 февраля 2011

У меня есть файл 'example.rb', в котором я хочу использовать пользовательские методы для String путем переопределения класса string.

Я знаю, что это можно сделать как

puts "abcd".twice

class String
  def twice
    self*2
  end
end

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

Ответы [ 2 ]

7 голосов
/ 13 февраля 2011

Сделайте вашу обезьяну патчей в "my_string.rb" (или где-то еще) и получите файл require d в вашем скрипте.

# my_string.rb

class String
  def twice
    self*2
  end
end


# my_super_script.rb
require 'my_string.rb' # Assuming both these files are in the same folder
puts "abcd".twice
0 голосов
/ 13 февраля 2011

Вы просто помещаете метод открытия класса String в my_string.rb, а в своем коде делаете:

require 'my_string'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...