У меня есть дата массива, содержащие 31 элементов (сокращенных здесь для ясности)Ruby: построить хэш с помощью отображения массивов в массив
Tuesday 8, November
Wednesday 9, November
#etc.
и А фильмов хэша, содержащих 31 элементов, каждый из которых содержит название фильмов и расписание сеансов (укороченные здесь для ясности)
{:movie=>"The Neon Demon", :time=>"4:15 PM"}
{:movie=>"Breaking a Monster", :time=>"6:45 PM"}
{:movie=>"The Citizen", :time=>"9:00 PM"}
Я пытаюсь построить хэш для вывода JSON, который имеет такую структуру
[
{
"Tuesday 8, November": {
"movies": [
{
"movie": "The Neon Demon",
"time": "4:15 PM"
},
{
"movie": "Breaking a Monster",
"time": "6:45 PM"
},
{
"movie": "The Citizen",
"time": "9:00 PM"
}
]
},
{
"Wednesday 9, November": {
"movies": [
{
"movie": "The First Monday in May",
"time": "4:15 PM"
},
{
"movie": "The Neon Demon",
"time": "6:30 PM"
},
{
"movie": "Breaking a Monster",
"time": "9:00 PM"
}
]
}, #etc
}
]
Прямо сейчас я использую
Output = []
Output << { dates => { movies: movies }}
puts JSON.pretty_generate Output
Но его не устраивая элементы правильно, и я не могу понять, что лучший способ сделать это. Может ли кто-нибудь дать мне подсказку о том, как это сделать правильно? Благодаря
Чтобы добавить к вопросу о форматировании, вы также можете использовать 'l' для форматирования даты ISO, чтобы он выглядел как формат времени вашего языкового стандарта. –
Спасибо. zip выглядит очень удобно. Я попробую и вернусь к вам. – matski
Это супер-просто и, безусловно, работает, но результат не такой, как я ожидал. В день должно быть больше одного фильма, но я, очевидно, не сделал этого ясно в своем вопросе, поэтому я все равно отмечаю это как решение. Благодаря! Спасибо также @Eli Sadoff за точку в форматировании даты. – matski