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