ruby 矩形的对角线
ruby diagonal of a rectangle
我正在尝试创建一种方法,将 returns 对角线的长度 rectangle/square 作为浮点数。但是,我的方法 diagonal
似乎没有按预期工作。我想我遇到了障碍,想看看你们中是否有人对我如何解决这个问题有想法。
class Rectangle
def initialize(width, length)
@width = width
@length = length
end
def perimeter
2*(@length + @width)
end
def area
@length * @width
end
def diagonal
# measure = Math.hypot(@length, @width)
measure = (@length.to_f ** 2) + (@width.to_f ** 2)
measure.hypot(@length, @width)
end
end
问题好像出在这里:
def diagonal
# measure = Math.hypot(@length, @width)
measure = (@length.to_f ** 2) + (@width.to_f ** 2)
measure.hypot(@length, @width)
end
您似乎开始尝试使用毕达哥拉斯的方法自己计算长度,但随后尝试对浮点数调用 hypot
方法。您有两个选择:
def diagonal
Math.hypot(@length, @width)
end
或
def diagonal
Math.sqrt((@length.to_f ** 2) + (@width.to_f ** 2))
end
我正在尝试创建一种方法,将 returns 对角线的长度 rectangle/square 作为浮点数。但是,我的方法 diagonal
似乎没有按预期工作。我想我遇到了障碍,想看看你们中是否有人对我如何解决这个问题有想法。
class Rectangle
def initialize(width, length)
@width = width
@length = length
end
def perimeter
2*(@length + @width)
end
def area
@length * @width
end
def diagonal
# measure = Math.hypot(@length, @width)
measure = (@length.to_f ** 2) + (@width.to_f ** 2)
measure.hypot(@length, @width)
end
end
问题好像出在这里:
def diagonal
# measure = Math.hypot(@length, @width)
measure = (@length.to_f ** 2) + (@width.to_f ** 2)
measure.hypot(@length, @width)
end
您似乎开始尝试使用毕达哥拉斯的方法自己计算长度,但随后尝试对浮点数调用 hypot
方法。您有两个选择:
def diagonal
Math.hypot(@length, @width)
end
或
def diagonal
Math.sqrt((@length.to_f ** 2) + (@width.to_f ** 2))
end