Size: a a a

2020 May 17

SR

Shattered Ruby in RubyRush
почему
источник

Э

Эдем in RubyRush
+= k должно быть только для определённых значений
источник

SR

Shattered Ruby in RubyRush
а, черт
источник

SR

Shattered Ruby in RubyRush
не заметил
источник

SR

Shattered Ruby in RubyRush
да, забыл условие прописать
источник

Э

Эдем in RubyRush
Если только эти буквы использовать, то вот так:

ary = [50, 80, 77, 90, 12, 55, 88]

k = 0
a = []

def more_than75_even?(i)
 i > 75 && i % 2 == 0
end

for i in ary
 k += 1 if more_than75_even?(i)
end

for i in ary
 i += k if more_than75_even?(i)
 a << i
end

puts a
источник

SR

Shattered Ruby in RubyRush
Эдем
Если только эти буквы использовать, то вот так:

ary = [50, 80, 77, 90, 12, 55, 88]

k = 0
a = []

def more_than75_even?(i)
 i > 75 && i % 2 == 0
end

for i in ary
 k += 1 if more_than75_even?(i)
end

for i in ary
 i += k if more_than75_even?(i)
 a << i
end

puts a
ладно, этот способ я понял
а почему не работает следующий код?
a=[50,80,77,90,12,55,88]
n=7
k=0
a.each do |i|
 k+=1 if i>75 && i.even?
end
p k

n = a.map do |i|
 i+=k if i>75 && i.even?
end
p n


на выходе
[nil, 83, nil, 93, nil, nil, 91]
источник

L

Lem in RubyRush
Shattered Ruby
ладно, этот способ я понял
а почему не работает следующий код?
a=[50,80,77,90,12,55,88]
n=7
k=0
a.each do |i|
 k+=1 if i>75 && i.even?
end
p k

n = a.map do |i|
 i+=k if i>75 && i.even?
end
p n


на выходе
[nil, 83, nil, 93, nil, nil, 91]
n = a.map do |i|
 i+=k if i>75 && i.even?

 i
end

надо еще  возвращать сам i
источник

SR

Shattered Ruby in RubyRush
Так, а зачем это
источник

SR

Shattered Ruby in RubyRush
а, я, кажется, понял
источник

L

Lem in RubyRush
потому что у тя в этом блоке только 1 условие, под которую нечетные и менее 75 не попадают.
и возвращается в n только подходящие под условие  i+=k if i>75 && i.even?
источник

SR

Shattered Ruby in RubyRush
всё, дошло
источник

SR

Shattered Ruby in RubyRush
метод map возвращает только изменённые объекты, получается
источник

SR

Shattered Ruby in RubyRush
всё, дошло, спасибо)
источник

p

point212 in RubyRush
А зачем два раза обходить массив? Почему оба if не поставить бы в один блок?
источник

SR

Shattered Ruby in RubyRush
хорошо, покажи, пожалуйста
источник

p

point212 in RubyRush
Вообще юзать each и при этом менять переменные за пределами этого блока не комильфо.
источник

p

point212 in RubyRush
Ща попробую. Но я с телефона. Тяжко
источник

SR

Shattered Ruby in RubyRush
ладно
источник

Э

Эдем in RubyRush
Сначала посчитать все элементы придётся
источник