Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 20 additions & 2 deletions lesson1.rb
Original file line number Diff line number Diff line change
@@ -1,14 +1,32 @@
require 'date'
class Lesson1
def sum(val = 0)
# TODO
# TODO\
val.to_s.split('').each { |n| sum += n.to_i}
sum
end

def age(birthday)
def age(bday)
# TODO
d, m, y = bday.to_s.split('/')
is_valid = Date.valid_date? y.to_i, m.to_i, d.to_i
if is_valid
days = (Date.parse(bday) - Date.today).to_i.abs
years = days / 365
hours = days * 24
minutes = hours * 60
second = minutes * 60
"Я живу #{years} года или #{days} дней или #{hours} часов или #{minutes} минут или #{second} секунд"
else
'Invalid date format'
end
end

def name
# TODO
name = gets.chomp
surname = gets.chomp
patronymic_name = gets.chomp
"Hello #{surname} #{name} #{patronymic_name}"
end
end
129 changes: 73 additions & 56 deletions my_array.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,60 +4,77 @@ class MyArray
def initialize(arr = [])
@array = arr
end

def size
# TODO
end

def reverse
# TODO
end

def max
# TODO
end

def min
# TODO
end

def desc
# TODO
end

def asc
# TODO
end

def odd
# TODO
end

def multiple_to_three
# TODO
end

def uniq
# TODO
end

def devide_on_ten
# TODO
end

def chars
# TODO
end

def switch
# TODO
end

def before_min
# TODO
end

def three_smallest
# TODO
end
end
# TODO
@array.size
end
def reverse
# TODO
@array.reverse
end
def max
# TODO
@array.max
end
def min
# TODO
@array.min
end
def desc
# TODO
@array.sort.reverse
end
def asc
# TODO
@array.sort
end
def odd
# TODO
@array.select {|x| x % 2 !=0}
end
end
def multiple_to_three
# TODO
@array.select {|x| x % 3 ==0}
end
def uniq
# TODO
@array.uniq
end
def devide_on_ten
# TODO
@array.collect {|x| x.to_f / 10}
end
def chars
# TODO
arr_abc = ("a".."z").to_a
@array.collect {|x| x = arr_abc[x-1]}
end
def switch
# TODO
min_val = @array.min
min_ind = @array.index(@array.min)
max_val = @array.max
max_ind = @array.index(@array.max)
@array[min_ind] = max_val
@array[max_ind] = min_val
end
def before_min
# TODO
min_value = [4,2,9,1,3,8].min
[4,2,9,1,3,8].map do |x|
if x!=min_value
x = x
else
break
end
end
end
def three_smallest
# TODO
arr_1 = @array - @array.min
arr_2 = arr_1 - @array.min
arr_3 = arr_2 - @array.min
return arr_3
end
end