commit
a3f7fdee13
@ -0,0 +1,54 @@
|
|||||||
|
# homework done by alansnape on Oct. 12th
|
||||||
|
# Ojyoosama kyoo mo miyabiyaka desu.
|
||||||
|
|
||||||
|
# Part 1
|
||||||
|
|
||||||
|
def sum arr
|
||||||
|
return arr.inject(0, :+)
|
||||||
|
end
|
||||||
|
|
||||||
|
def max_2_sum arr
|
||||||
|
return sum(arr.sort.reverse[0..1])
|
||||||
|
end
|
||||||
|
|
||||||
|
def sum_to_n? arr, n
|
||||||
|
ret = false
|
||||||
|
arr.each_with_index do |oi, i|
|
||||||
|
arr.each_with_index do |oj, j|
|
||||||
|
ret ||= (i != j && oi + oj == n)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return ret
|
||||||
|
end
|
||||||
|
|
||||||
|
# Part 2
|
||||||
|
|
||||||
|
def hello(name)
|
||||||
|
return 'Hello, ' + name
|
||||||
|
end
|
||||||
|
|
||||||
|
def starts_with_consonant? s
|
||||||
|
return (s[0] =~ /[[:alpha:]]/) && ! (s[0] =~ /[aeiouAEIOU]/)
|
||||||
|
end
|
||||||
|
|
||||||
|
def binary_multiple_of_4? s
|
||||||
|
return (s =~ /^[01]+$/) && (s =~ /100$/ || s == '0')
|
||||||
|
end
|
||||||
|
|
||||||
|
# Part 3
|
||||||
|
|
||||||
|
class BookInStock
|
||||||
|
attr_accessor :isbn, :price
|
||||||
|
|
||||||
|
def initialize _isbn, _p
|
||||||
|
if _isbn.empty? || _p <= 0 then
|
||||||
|
raise ArgumentError
|
||||||
|
end
|
||||||
|
self.isbn = _isbn
|
||||||
|
self.price = _p
|
||||||
|
end
|
||||||
|
|
||||||
|
def price_as_string
|
||||||
|
return format("$%.2f", self.price)
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in new issue