Skip to content

Instantly share code, notes, and snippets.

@VladHurma
Created November 23, 2018 22:23
Show Gist options
  • Save VladHurma/9853e69d74e0b72cb473618e55091bd2 to your computer and use it in GitHub Desktop.
Save VladHurma/9853e69d74e0b72cb473618e55091bd2 to your computer and use it in GitHub Desktop.
class Add_zero_before_positive_numbers
def initialize
@numbers = []
end
def self.run
new.run
end
def run
filling_array_with_numbers
show_user_array_before_changes
my_adding_zero_method
show_user_rebuildet_array
end
private
def filling_array_with_numbers
for i in 0..4 do
@numbers[i] = rand(-5..5)
end
end
def show_user_array_before_changes
print "#{@numbers}\n"
end
def adding_zero
@numbers.map { |e| e.positive? ? [0, e] : e}.flatten!
end
def my_adding_zero_method
i = 0
while i < @numbers.size
if @numbers[i].to_i > 0
@numbers.insert(i, 0)
i += 1
end
i += 1
end
end
def show_user_rebuildet_array
print "#{@numbers}\n"
end
end
Add_zero_before_positive_numbers.run
@aya-soft
Copy link

  1. Как сделать более просто без '\n'? print "#{@numbers}\n"
  2. До этого сам додумался? (только честно, ругать не буду) или у ребят подсмотрел? @numbers.map { |e| e.positive? ? [0, e] : e}.flatten!

@VladHurma
Copy link
Author

VladHurma commented Nov 28, 2018

1. Как сделать более просто без '\n'? print "#{@numbers}\n"

2. До этого сам додумался? (только честно, ругать не буду) или у ребят подсмотрел? @numbers.map { |e| e.positive? ? [0, e] : e}.flatten!
  1. Не знаю, puts же кривит выход, а я хотел чтобы было выведено как массив, чтобы сверху и снизу по массиву, и сразу видно что изменилось
    UPD: Допер, puts "#{@numbers}" или p @numbers
  2. Нет, все делал сам, только подсказали знакомые что [0, e] : e делает замещение, остальное сам сам

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment