どのUbuntuバージョンがサポートされていますか?


16

入力日付を指定すると、エントリはその日付にサポートされているUbuntu Linuxディストリビューションのバージョンの完全なリストを出力します。

すべてのリリース完全なリストは次のとおりです。

バージョンコード名リリース日サポートされるまで

4.10いぼ型イボイノシシ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(サーバー)
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(サーバー)
8.10 Intrepid 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マーベリックミーアキャット2010-10-10 2012-04-10
11.04ナッティイッカク2011-04-28 2012-10-28
11.10オネリックオセロット2011-10-13 2013-05-09
12.04 LTS正確なセンザンコウ2012-04-26 2017-04-26
12.10 Quantal Quetzal 2012-10-18 2014-05-16
13.04 Raring Ringtail 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鮮やかなベルベット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追加されます
  • 最も古い3つのLTSバージョンには、デスクトップとサーバーの2つのフレーバーがあります。これらのLTSバージョンの両方が特定の日付でサポートされている場合、出力は上記のバージョン文字列になります。ただし、サーバーのバージョンのみがサポートされている場合-serverは、バージョン文字列の最後に追加する必要があります
  • 執筆時点で、最近のバージョンの4つには、サポートされるまでの日付がYYYY-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-server、8.04LTS、9.04、9.10、10.04LTS、10.10
2021-04-30 16.04LTS
2021-05-01    

4
さわやかなアナグマ...?
アレックスA.

一部の例は正しくありません。2010-10-10戻る必要があります6.06LTS-server, 8.04LTS, 9.04, 9.10LTS, 10.04LTS, 10.10
Mwr247

@ Mwr247ありがとう-私はそれを修正しました。他のエラーが表示されますか?
デジタル外傷

@ Mwr247 Ah-関数に渡すときに日付文字列を引用するのを忘れていました。
デジタル外傷

1
@DigitalTraumaおっと!2つのキャラクターを保存するためにグループを削除しましたが、条件のその側面に及ぼす影響を認識していませんでした。現在修正済みです。
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は負の開始日で示されます。バージョン番号は、正の開始日の最後の2桁を除くすべての数字を100で割った値から簡単に導出できます。


ウーフー-最初の答え!申し訳ありません-私はJS初心者です-何らかの形でブラウザでES6をテストできますか?または、確認する最も簡単な方法は何ですか?
デジタル外傷

@DigitalTraumaはい、関数を変数に割り当てるだけで(F=上記のコードの前に追加)、関数を呼び出します(F("2010-10-10"))。最新のブラウザ開発者コンソール(f12キー)で実行できます。
Mwr247

+1-よさそうだ!(なぜ以前のコメントを自分の質問ではなく、自分の質問に当てたのかわからない-まあ-あなたはポイントを得た:))
デジタルトラウマ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.