Как установить переменную в условие if - PullRequest
0 голосов
/ 10 апреля 2019

У меня есть это условие:

arr1 = [1, 2, 3, 4]

arr1.each do |num|
  if num == arr1.last
    print "#{num}\n"
    exit
  else
    print "#{num} x "
  end
end

и я должен напечатать это как переменную, которая может называться num_printer, так что если я напишу

  puts num_printer

это должно напечатать это

  1 x 2 x 3 x 4

Но я не знаю, как это сделать. Кто-нибудь может мне помочь?

Ответы [ 2 ]

1 голос
/ 10 апреля 2019

Существуют более простые способы сделать это, как указывает Максим в своем ответе, но чтобы ответить на ваш вопрос, вы могли бы сделать это, инициализируя пустую строковую переменную, а затем в своем блоке each добавляя текст к переменной вместо печати это: * * 1002

arr1 = [1, 2, 3, 4]
nums_str = ""

arr1.each do |num|
  if num == arr1.last
    nums_str << num.to_s
  else
    nums_str << "#{num} x "
  end
end

puts nums_str
# => 1 x 2 x 3 x 4

Смотрите на repl.it: https://repl.it/@jrunning/ArcticDeficientArchitecture

0 голосов
/ 10 апреля 2019

По сути, вы хотите вставить что-то ('x' в вашем случае) между элементами и вывести результат. Используйте join

puts arr1.join(' x ')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...