Skip to content

Instantly share code, notes, and snippets.

@alexandersazonof
Last active December 2, 2018 16:48
Show Gist options
  • Save alexandersazonof/0a508b3d0571ca0ccf6a47777023837f to your computer and use it in GitHub Desktop.
Save alexandersazonof/0a508b3d0571ca0ccf6a47777023837f to your computer and use it in GitHub Desktop.
#Дан целочисленный массив. Заменить все положительные элементы на значение минимального.
number_array = [-1, 4, 5, -2, -5, 4]
min_value_from_array = number_array.min
number_array = number_array.map { |e| e > 0 ? e = min_value_from_array : e }
puts number_array
@aya-soft
Copy link

  1. Обрати внимание: мы ставил пробел между всеми операндами и после запятых:
    [-1, -4, 5, 7, -2 ,4]
    if e > 0
    e = number
    и т.д.

Code Style рулит ;)

@aya-soft
Copy link

  1. Название массива number неудачное - это же не число, правда?
  2. Как избежать многократного вычисления number.min ?
  3. Как записать это через тернарный оператор? if e>0 then e=number.min else e end

@alexandersazonof
Copy link
Author

  1. Название массива number неудачное - это же не число, правда?
  2. Как избежать многократного вычисления number.min ?
  3. Как записать это через тернарный оператор? if e>0 then e=number.min else e end

3 Создать переменную min_value , в которой будет храниться минимальное значение
4 e>0 ? e=min_value_from_array : e

@aya-soft
Copy link

aya-soft commented Dec 2, 2018

  1. digital - это цифровой, а не содержащий числа
  2. пробелы отсутствуют во многих местах: { |e| e>0 ? e=min_value_from_array : e }

@alexandersazonof
Copy link
Author

  1. digital - это цифровой, а не содержащий числа
  2. пробелы отсутствуют во многих местах: { |e| e>0 ? e=min_value_from_array : e }

1 изменил на number_array
2 я понял проблему

@aya-soft
Copy link

aya-soft commented Dec 2, 2018

🥇

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