在范围,平方和立方体中插入所选数字

时间:2017-12-17 23:46:33

标签: ruby integer

我正在尝试为允许的用户输入的数字设置范围。然后,我想打印所选数字的平方和立方。

我尝试了以下内容:

def estimated_autocorrelation(x):
    n = len(x)
    variance = x.var()
    x = x-x.mean()
    r = N.correlate(x, x, mode = 'full')
    result = r/(variance*n)
    return result

class Range def clamp(min, max) self < min ? min : self > max ? max : self end end class Multiply def initialize(id, squared, cubed) @id = num @squared = (num * num) @cubed = (num * num * num) end end # @limit = (params[:limit] || 10).clamp(0, 100) puts 'Please insert your favorite number between 1 and 100.' num = gets.to_i puts 'You picked ' + num.to_s + '?' puts 'You picked ' + num.to_s.Multiply.squared + '?' 抛出@limit

如何在'params' not found之前通过课程numRange运行Multiply

1 个答案:

答案 0 :(得分:1)

  

我正在尝试设置“允许”的范围。用户输入的号码,然后我   想打印所选数字的平方和立方。

通过clamp模块使用Numeric可用的Comparable方法:

input = '110'
clamped = input.to_i.clamp(0,100)

puts clamped
#100

您可以使用Integer#**Float#**获得数字的强大功能。如果必须通过扩展核心类来生成DIY方法,那么您可以通过在那里定义方法Numericclampsquare来扩展cube类。 square可能是:

class Numeric
  def square
    self ** 2
  end
end

10.square #=> 100