Ruby on rails 我需要直接给数学课打电话吗?
如果我使用的是数学模块中的函数,如log10,我需要调用Math.log10number还是可以调用number.log10?默认情况下,Numbers没有可用的log10方法,但您可以扩展Numeric类来添加该功能: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
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,我想我误解了你的问题。请看一下我的最新答案。