diff --git a/lesson1.rb b/lesson1.rb index 5f2c9a4..abd3cf7 100644 --- a/lesson1.rb +++ b/lesson1.rb @@ -1,14 +1,37 @@ require 'date' class Lesson1 def sum(val = 0) - # TODO + s = 0 + val.to_s.split('').each { |a| s += a.to_i } + s end def age(birthday) - # TODO + def age(birthday) + unless birthday + 'Invalid Date Format' + else + date = Date.parse(birthday) + today = DateTime.now + year = today - date + days = years * 365 + hours = days * 24 + minutes = hours * 60 + seconds = minuts * 60 + "Я живу #{years} года или #{years} дней или #{hours}\n + часов или #{minutes} минут или #{seconds} секунд" + end + end end def name - # TODO + p "First name?" + first = gets.chomp + p "Second name?" + second = gets.chomp + p "Third name?" + third = gets.chomp + + p "Hello #{first} #{second} #{third}" end -end +end \ No newline at end of file diff --git a/my_array.rb b/my_array.rb index 5146e42..5b2795f 100644 --- a/my_array.rb +++ b/my_array.rb @@ -6,58 +6,90 @@ def initialize(arr = []) end def size - # TODO + count = 0 + @array.each { |val| count += 1 } + count end def reverse - # TODO + array_reversed = [] + @array.each { |val| array_reversed.unshift(val) } + array_reversed end def max - # TODO + @array.sort.last end def min - # TODO + @array.sort.first end - def desc - # TODO + def asc + @array.sort end - def asc - # TODO + def desc + @array.sort.reverse end def odd - # TODO + arr = [] + @array.each do |val| + if val % 2 == 1 + arr.push(val) + end + end + arr end def multiple_to_three - # TODO + arr = [] + @array.each do |val| + if val % 3 == 0 + arr.push(val) + end + end + arr end def uniq - # TODO + arr = [] + @array.each { |val| arr << val unless arr.include?(val)} + arr end - def devide_on_ten - # TODO + def devive_on_ten + arr = @array.collect { |val| val.to_f / 10 } + arr end - def chars - # TODO + def charsS + abc = [*?a..?z] + arr = @array.map { |val| abc[val - 1].to_sym } end def switch - # TODO - end + switch_arr = @array - def before_min - # TODO + min = switch_arr.min + max = switch_arr.max + + switch_arr[switch_arr.index(max)] = min + switch_arr[switch_arr.index(min)] = max + switch_arr end def three_smallest - # TODO + arr = [] + min_i = @array.min + (0...min_i).each do |val| + arr.push(val) + end + arr + end + + def before_min + @array.min(3) end end