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
31 changes: 27 additions & 4 deletions lesson1.rb
Original file line number Diff line number Diff line change
@@ -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
72 changes: 52 additions & 20 deletions my_array.rb
Original file line number Diff line number Diff line change
Expand Up @@ -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