На CPAN существует много модулей управления Датой. Мой конкретный фаворит DateTime, и можно использовать strptime модули для парсинга дат в произвольных форматах. Существуют также многие DateTime:: модули Формата на CPAN для обработки специализированных форматов даты, но strptime является самым универсальным.
В Ruby 1.8.7 и более поздних версиях вы можете сделать следующее:
a.each &:compact!
=> [[1, 2, 3], [4, 5]]
В Ruby 1.8.6 вы должны проделать долгий путь:
a.each {|s| s.compact!}
Оба они изменят содержимое a
. Если вы хотите вернуть новый массив и оставить исходный в покое, вы можете использовать collect
вместо каждый
:
# 1.8.7+:
a.collect &:compact
# 1.8.6:
a.collect {|s| s.compact}
Если вы не хотите навсегда изменить a
a.map do |e|
e.compact
end
a.each {|subarray| subarray.compact!}
a.compact!
Должно работать ... .
Если бы вы были чтобы использовать in_groups_of
, вы можете передать его false
в качестве второго аргумента, и он не заполнит «пробелы» nil
, но на самом деле ничего.