Ruby web开发实战(3)-Ruby疑难点(2)

发布时间 2023-06-26 22:47:41作者: 水泊waterPerl

目录

方法

irb(main):118:1* def numSum(nums)
irb(main):119:1*   result=0
irb(main):120:2*   nums.length.times{|n|
irb(main):121:2*     result+=nums[n]
irb(main):122:1*   }
irb(main):123:1*   return result
irb(main):124:0> end
=> :numSum
irb(main):125:0> numSum([11,22,66,7])
=> 106
irb(main):126:0> numSum([11,22])
=> 33
irb(main):127:0> 

#!/usr/bin/ruby
def numSum(nums)
   result=0
   nums.each do |n|
    result+=n
   end
   return result
end
puts numSum([1,2,3,4,5,6,7,8])

书名:ruby指南,价格:69.23,库存:50 ,销售额:0.0
书名:ruby指南,价格:69.23,数量:4 ,销售额:276.92
书名:ruby指南,价格:69.23,库存:46 ,销售额:276.92
书名:ruby指南,入库20
书名:ruby指南,价格:69.23,库存:66 ,销售额:276.92
书名:ruby指南,价格:60.730000000000004,库存:66 ,销售额:276.92
#!/usr/bin/ruby

class Book
    attr_accessor :price
    def initialize(name="",price=0.0,stock=0)
        @name=name
        @price=price
        @stock=stock   
        @salesVolume = 0.0
    end
    def sayInfo()
        puts "书名:#{@name},价格:#{@price},库存:#{@stock} ,销售额:#{@salesVolume}"
    end
    def getTotalPrice()
         return @price*@stock
    end
    def addStock(count=0)
         @stock+=count
         puts "书名:#{@name},入库#{count}"
    end
    def sellBook(count=0)
         if count<=@stock
             @stock-=count
             @salesVolume+=count*@price
             puts "书名:#{@name},价格:#{@price},数量:#{count} ,销售额:#{@salesVolume}"
         else
            puts "请检查卖出数量真实性"
         end
     end
   end

myBook=Book.new("ruby指南",69.23,50)
myBook.sayInfo()
myBook.sellBook(4)
myBook.sayInfo()
myBook.addStock(20)
myBook.sayInfo()
myBook.price-=8.5
myBook.sayInfo()