Які версії Ubuntu підтримуються?


16

Враховуючи дату введення, ваш запис видасть повний список підтримуваних версій дистрибутива Ubuntu Linux на цю дату.

Повний список всіх релізів виглядає наступним чином :

Назва версії Код версії Дата виходу Підтримується до

4.10 Бородавка Бородавка 2004-10-20 2006-04-30
5.04 Христий їжак 2005-04-08 2006-10-31
5.10 Breezy Badger 2005-10-13 2007-04-13
6.06 LPS Dapper Drake 2006-06-01 2009-07-14 2011-06-01 (Сервер)
6.10 Edgy Eft 2006-10-26 2008-04-25
7.04 Feisty Fawn 2007-04-19 2008-10-19
7.10 Гуці Гіббон 2007-10-18 2009-04-18
8.04 LTS Hardy Heron 2008-04-24 2011-05-12 2013-05-09 (Сервер)
8.10 Інтрепід Ibex 2008-10-30 2010-04-30
9.04 Жаунті Джекалопа 2009-04-23 2010-10-23
9.10 Кармічна коала 2009-10-29 2011-04-30
10.04 LTS Lucid Lynx 2010-04-29 2013-05-09 2015-04-30 (Сервер)
10.10 Maverick Meerkat 2010-10-10 2012-04-10
11.04 Natty Narwhal 2011-04-28 2012-10-28
11.10 Онерічний окелот 2011-10-13 2013-05-09
12.04 LTS Precision Pangolin 2012-04-26 2017-04-26
12.10 Квантовий Кетсал 2012-10-18 2014-05-16
13.04 Рінг Рінгтейл 2013-04-25 2014-01-27
13.10 Пікантний саламандра 2013-10-17 2014-07-17
14.04 LTS Trusty Tahr 2014-04-17 2019-04
14.10 Утопічний Єдиноріг 2014-10-23 2015-07-23
15.04 Vivid Vervet 2015-04-23 2016-01
15.10 Хитрий перевертень 2015-10-22 2016-07
16.04 LTS Xenial Xerus 2016-04-21 2021-04

Правила

  • Для кожної підтримуваної версії виводиться точний рядок версії, наприклад 4.10
  • До версій LTS (довготривала підтримка) LTSбуде додано версію
  • Три найстаріші версії LTS випускаються у двох варіантах - настільний та серверний. Якщо обидві ці версії LTS підтримуються в дану дату, результатом буде просто рядок версій, як зазначено вище. Однак якщо підтримується лише версія сервера, ви повинні додати -serverдо кінця рядка версії
  • На момент написання 4 останніх версій підтримуються лише дати РРРР-MM до дат. Ви повинні ставитися до цих дат так, ніби вони є останнім днем ​​даного місяця. наприклад, 2019-04 слід розглядати як 2019-04-30
  • Не буде результатів для дат, що не входять до повного діапазону дат, записаних у таблиці
  • Формати дати введення є гнучкими, але повинні містити перелік року, місяця та дня. Кількість днів або секунд (або інших одиниць) з епохи не є дійсними форматами введення.
  • Списки вихідних даних можуть бути надані у будь-якому форматі, який зручний для вашої мови
  • Ви можете використовувати функції дату з вашої мови
  • Ви можете вважати, що всі вхідні дані є дійсними

Приклади:

Введення-виведення:

2000-01-01    
2004-10-20 4.10
2005-05-05 4.10, 5.04
2006-06-06 5.04, 5.10, 6.06LTS
2010-10-10 6.06LTS-сервер, 8.04LTS, 9.04, 9.10, 10.04LTS, 10.10
2021-04-30 16.04ЛТС
2021-05-01    

4
Бризливий борсук ...?
Олексій А.

Деякі ваші приклади є невірними. 2010-10-10повинен повернутися6.06LTS-server, 8.04LTS, 9.04, 9.10LTS, 10.04LTS, 10.10
Mwr247

@ Mwr247 Спасибі - я виправив цю. Ви бачите якісь інші помилки?
Цифрова травма

@ Mwr247 Ах - я забув процитувати рядок дати при переході до функції.
Цифрова травма

1
@DigitalTrauma Whoops! Я видалив там угруповання, щоб зберегти двох символів, але не усвідомив, який вплив він має на цей аспект умови. Це зараз виправлено.
Mwr247

Відповіді:


5

JavaScript (ES6), 552 байти

d=>(d=d.replace(/^20|-/g,'')*1,[for(r of'41020,60430;50408,61031;51013,70413;-60601,90714,110601;61026,80425;70419,81019;71018,90418;-80424,110512,130509;81030,100430;90423,101023;-91029,110430;-100429,130509,150430;101010,120410;110428,121028;111013,130509;-120426,170426;121018,140516;130425,140127;131017,140717;-140417,190430;141023,150723;150423,160131;151022,160731;-160421,210430'.split`;`.map(a=>a.split`,`))if(d>=(a=Math.abs(f=r[0]))&&((m=d<=r[1])||r[2]&&d<=r[2]))((a+'').slice(-6,-2)/100).toFixed(2)+'LTS'.slice(f)+(m?'':'-server')].join`, `)

Побудова масиву даних займає ~ 68% від загального розміру. Решта - це форматування вводу, пошук масиву та побудова вихідних рядків.

Рядок даних розділений на масив масивів або 2 (звичайна), або 3 (серверна) довжина. Дати зводяться до цифрового формату, з викресленими знаками "20" (разом із будь-якими провідними нулями після цього). LTS позначається негативною датою початку. Номери версій можна зручно отримати з усіх, крім останніх двох цифр позитивної дати початку, розділених на 100.


Woohoo - перша відповідь! Вибачте - я початківець JS - чи можу я якось перевірити ES6 у браузері? Або який найпростіший спосіб перевірити?
Цифрова травма

@DigitalTrauma Так, просто призначте функцію змінній (додайте F=перед кодом вище), а потім просто зателефонуйте через неї ( F("2010-10-10")). Ви можете запустити його в будь-якій сучасній консолі розробника браузера (клавіша f12).
Mwr247

+1 - зараз добре виглядає! (не впевнений, чому я ставлю свої попередні коментарі проти мого власного запитання, а не вашої відповіді - о, добре - ви зрозуміли :))
Digital Trauma
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.