Ruby on Rails의 수학 클래스에 메소드를 동적으로 추가하려면 어떻게해야합니까?

StackOverflow https://stackoverflow.com/questions/422108

문제

Ruby on Rails의 수학 클래스에 다음 방법을 추가하려고합니다.

class Math
  def self.round_with_precision(number, precision)
    scalar = 10.0 ** precision
    number = number * scalar
    number = number.round
    number = number / scalar
    return number;
  end
end

그런 다음 내 환경에 다음을 추가했습니다 .RB :

require 'lib/math'

Rails 콘솔을 열면 다음과 같은 오류가 발생합니다.

내가 아주 간단한 것을 간과하는 것 같습니다.

이견있는 사람?

도움을 주셔서 감사합니다.

도움이 되었습니까?

해결책

수학은 모듈로 클래스 이름을 모듈로 바꾸는 것입니다.

다른 팁

이 코드가 포함 된 파일을 구성/초기화기에 배치 할 수 있으며 자동으로 포함됩니다. ~ 그냥 참고로.

사용하는 경우 instance_eval, 당신은 사용 여부에 대해 걱정할 필요가 없습니다. class 또는 module:

Math.instance_eval do
  def round_with_precision(number, precision)
    scalar = 10.0 ** precision
    (number * scalar).round / scalar
  end
end
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top