Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 我需要直接给数学课打电话吗?_Ruby On Rails_Ruby_Ruby On Rails 3 - Fatal编程技术网

Ruby on rails 我需要直接给数学课打电话吗?

Ruby on rails 我需要直接给数学课打电话吗?,ruby-on-rails,ruby,ruby-on-rails-3,Ruby On Rails,Ruby,Ruby On Rails 3,如果我使用的是数学模块中的函数,如log10,我需要调用Math.log10number还是可以调用number.log10?默认情况下,Numbers没有可用的log10方法,但您可以扩展Numeric类来添加该功能: class Numeric def log10 Math.log10 self end end 10.log10 => 1.0 如果您只想使用这些方法,而不必一直编写数学,您可以将数学包括在内,然后您可以直接调用log10: class YourCl

如果我使用的是数学模块中的函数,如log10,我需要调用Math.log10number还是可以调用number.log10?

默认情况下,Numbers没有可用的log10方法,但您可以扩展Numeric类来添加该功能:

class Numeric

  def log10
    Math.log10 self
  end
end

10.log10
=> 1.0
如果您只想使用这些方法,而不必一直编写数学,您可以将数学包括在内,然后您可以直接调用log10:

class YourClass
  include Math

  def method n
    log10 n
  end
end

YourClass.new.method 10
=> 1.0
默认情况下,数字没有可用的log10方法,但您可以扩展Numeric类以添加该功能:

class Numeric

  def log10
    Math.log10 self
  end
end

10.log10
=> 1.0
如果您只想使用这些方法,而不必一直编写数学,您可以将数学包括在内,然后您可以直接调用log10:

class YourClass
  include Math

  def method n
    log10 n
  end
end

YourClass.new.method 10
=> 1.0

你为什么不试试,比如用irb?或者仅此命令行:

ruby -e 'puts Math.log10(10)'
1.0

-e:1:in:未定义的methodlog10'用于main:Object 命名者

我想你有你的答案:

顺便说一下,您可以包括数学模块:

include Math
要使用log10方法而不必每次都显式编写它,请执行以下操作:

 ruby -e 'include Math; puts log10(10)'
  => 1.0

你为什么不试试,比如用irb?或者仅此命令行:

ruby -e 'puts Math.log10(10)'
1.0

-e:1:in:未定义的methodlog10'用于main:Object 命名者

我想你有你的答案:

顺便说一下,您可以包括数学模块:

include Math
要使用log10方法而不必每次都显式编写它,请执行以下操作:

 ruby -e 'include Math; puts log10(10)'
  => 1.0

你不需要数学来使用它。@Justin:请看看这里包含和要求的区别:@Justin,我想我误解了你的问题。请看一下我的最新答案。你不需要数学来使用它。@Justin:请看一下这里包含和要求的区别::@Justin,我想我误解了你的问题。请看一下我的最新答案。