Для личной домашней работы я пробую программу цифровых часов, чтобы отображать «большие» цифры.ruby - невозможно объединить элементы массива в строку?
Рубиновая программа, которая имеет части часов, которые поступают из строк, хранящихся в массиве, а затем подпрограмму (еще не полностью написанную), которая может отображать любые числа в виде «больших чисел».
Это поможет мне узнать больше о манипулировании хэши и переборе массивов, конкатенации строки и т.д.
Я застрял прямо сейчас с этим:
all_nums=''
(0..3).each do |num|
all_nums+= (line_parts[num][0].values).to_s
#puts line_parts[num][0].values
end
puts all_nums
, потому что я получаю обратно элементы массива, которые я не может преобразовать в строки, т.е.
ruby digital_clock,rb
[" == "]["| | "]["| | "][" == "]
, но когда я просто puts
их (закомментирована 3-й линии от дна) это нормально, но я получаю строки, т.е.
ruby digital_clock.rb
==
| |
| |
==
Я хочу, чтобы иметь возможность построить строку (в этом случае большое число 0), но я могу только выставлять куски, и я не смог назначить их переменной и напечатать ее. Как я мог это сделать?
Полная программа:
top= ' == | == == | | == | == == == '
top_middle= '| | | __| __| |__| |__ |__ | |__| |__|'
bottom_middle='| | | | | | | | | | | | |'
bottom= ' == | == == | == == | == |'
number_parts=[{},{},{},{},{},{},{},{},{},{}]
line_parts=[[],[],[],[]]
['top','top_middle','bottom_middle','bottom'].each_with_index do |one_line, i|
number_parts=[{},{},{},{},{},{},{},{},{},{}]
(0..9).each do |the_num|
number_parts[the_num] = {one_line.to_sym => eval(one_line)[the_num*5,5].to_s}
end
line_parts[i]= number_parts
end
all_nums=''
(0..3).each do |num|
all_nums+= (line_parts[num][0].values).to_s
#puts line_parts[num][0].values
end
puts all_nums
Не просто дайте подробную программу, особенно если она не работает. Расскажите, что вы делаете. – sawa
Добавлен больше информации наверху :) – junky
Первоначально я собирался просто дать детали, о которых идет речь, но когда я это делаю, мне обычно говорят, чтобы показать всю программу :) – junky