class Pulo::Cylinder
Attributes
face[R]
length[R]
Public Class Methods
new(face: nil, length: nil, volume: nil, radius: nil, diameter: nil)
click to toggle source
# File lib/pulo/figure/figure3d.rb, line 98 def initialize (face: nil, length: nil, volume: nil, radius: nil, diameter: nil) quantity_check [face,Circle] ,[length,Length] , [volume,Volume], [radius, Length], [diameter, Length] raise 'Cylinder needs length and face or volume and length or volume and radius or diameter.' unless (face && length) || (volume && length) || (volume && (radius || diameter)) || (length && (radius || diameter)) if face and length @face=face @length=length @volume=@face.area*@length else if volume and length @length=length @volume=volume @face=Circle.new(area: @volume/@length) else if (radius or diameter) and volume @face=Circle.new(radius: radius, diameter: diameter) @volume=volume @length=volume/@face.area else @face=Circle.new(radius: radius, diameter: diameter) @length=length @volume=@face.area*@length end end end @surfacearea=@face.area*2+@face.perimeter*@length @area=@face.area @radius=@face.radius end