Quali versioni di Ubuntu sono supportate?


16

Data una data di input, la tua voce mostrerà l'elenco completo delle versioni supportate della distribuzione Ubuntu Linux in quella data.

L' elenco completo di tutte le versioni è il seguente:

Nome codice versione Data di rilascio Supportato fino al

4.10 Warty Warthog 2004-10-20 2006-04-30
5.04 Hoary Hedgehog 2005-04-08 2006-10-31
5.10 Breezy Badger 2005-10-13 2007-04-13
6.06 LTS Dapper Drake 2006-06-01 2009-07-14 2011-06-01 (Server)
6.10 Edgy Eft 2006-10-26 2008-04-25
7.04 Feisty Fawn 2007-04-19 2008-10-19
7.10 Gutsy Gibbon 2007-10-18 2009-04-18
8.04 LTS Hardy Heron 2008-04-24 2011-05-12 2013-05-09 (Server)
8.10 Intrepid Ibex 2008-10-30 2010-04-30
9.04 Jaunty Jackalope 2009-04-23 2010-10-23
9.10 Karmic Koala 2009-10-29 2011-04-30
10.04 LTS Lucid Lynx 2010-04-29 2013-05-09 2015-04-30 (Server)
10.10 Maverick Meerkat 2010-10-10 2012-04-10
11.04 Natty Narwhal 2011-04-28 2012-10-28
11.10 Oneiric Ocelot 2011-10-13 2013-05-09
12.04 LTS Precise Pangolin 2012-04-26 2017-04-26
12.10 Quetzal quantistico 2012-10-18 2014-05-16
13.04 Raring Ringtail 2013-04-25 2014-01-27
13.10 Salamandra salata 2013-10-17 2014-07-17
14.04 LTS Trusty Tahr 2014-04-17 2019-04
14.10 Unicorno utopico 2014-10-23 2015-07-23
15.04 Vivid Vervet 2015-04-23 2016-01
15.10 Wily Werewolf 2015-10-22 2016-07
16.04 LTS Xenial Xerus 21/04/2016 2021-04

Regole

  • Per ciascuna versione supportata, verrà generata la stringa della versione esatta, ad es 4.10
  • Per le versioni LTS (supporto a lungo termine), LTSverrà aggiunto alla versione
  • Le tre versioni LTS più vecchie sono disponibili in due versioni: desktop e server. Se entrambe le versioni di LTS sono supportate in una data specifica, l'output sarà semplicemente la stringa di versione come sopra. Tuttavia, se è supportata solo la versione del server, è necessario aggiungere -serveralla fine della stringa di versione
  • Al momento della stesura di questo articolo, 4 delle versioni recenti hanno solo AAAA-MM nelle date supportate fino al termine. È necessario trattare queste date come se fossero l'ultimo giorno di un determinato mese. ad es. 2019-04 deve essere trattato come 2019-04-30
  • Non ci sarà output per le date al di fuori dell'intervallo di date completo catturato nella tabella
  • I formati della data di input sono flessibili, ma devono contenere un elenco di anno, mese e giorno. Il numero di giorni o secondi (o altre unità) di un'epoca non sono formati di input validi.
  • Le liste di output possono essere fornite in qualunque formato sia conveniente per la tua lingua
  • È possibile utilizzare le funzioni datetime dalla propria lingua
  • Si può presumere che tutti gli input siano validi

Esempi:

Input Output:

2000-01-01    
20-10-2004 4.10
05/05/2005 4.10, 5.04
2006-06-06 5.04, 5.10, 6.06LTS
10-10-2010 6.06LTS-server, 8.04LTS, 9.04, 9.10, 10.04LTS, 10.10
2021-04-30 16.04LTS
2021/05/01    

4
Tasso ventilato ...?
Alex A.

Alcuni dei tuoi esempi sono errati. 2010-10-10dovrebbe tornare6.06LTS-server, 8.04LTS, 9.04, 9.10LTS, 10.04LTS, 10.10
Mwr247,

@ Mwr247 Grazie - ho risolto quello. Vedi altri errori?
Trauma digitale

@ Mwr247 Ah - Ho dimenticato di citare la stringa della data quando si passa a una funzione.
Trauma digitale

1
@DigitalTrauma Whoops! Avevo rimosso un raggruppamento lì dentro per salvare due personaggi, ma non mi rendevo conto dell'effetto che aveva su quell'aspetto della condizione. Ora è riparato.
Mwr247,

Risposte:


5

JavaScript (ES6), 552 byte

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`, `)

La costruzione dell'array di dati occupa circa il 68% della dimensione totale. Il resto è la formattazione dell'input, la ricerca dell'array e la costruzione della stringa di output.

La stringa di dati è suddivisa in una matrice di matrici di lunghezza 2 (normale) o 3 (server). Le date sono ridotte al formato numerico, con lo "20" iniziale rimosso (insieme a tutti gli zero iniziali successivi). LTS è indicato da una data di inizio negativa. I numeri di versione possono essere convenientemente derivati ​​da tutti tranne le ultime due cifre della data di inizio positiva, divise per 100.


Woohoo - prima risposta! Scusate, sono JS alle prime armi, posso testare ES6 in un browser in qualche modo? O qual è il modo più semplice per verificare?
Trauma digitale

@DigitalTrauma Sì, basta assegnare la funzione a una variabile (aggiungere F=prima il codice sopra) e quindi chiamare semplicemente la funzione tramite essa ( F("2010-10-10")). Puoi eseguirlo in qualsiasi moderna console di sviluppo del browser (tasto F12).
Mwr247,

+1 - Ora sembra buono! (non so perché ho messo i miei commenti precedenti contro la mia domanda e non la tua risposta - vabbè - hai capito il punto :))
Digital Trauma
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.