รองรับ Ubuntu รุ่นใดบ้าง?


16

รับวันที่ป้อนข้อมูลรายการของคุณจะแสดงรายการเวอร์ชันเต็มของUbuntu Linux distro ที่รองรับในวันนั้น

รายการเต็มรูปแบบของทุกรุ่นที่ออกเป็นดังนี้:

เวอร์ชั่นชื่อรหัสวันที่วางจำหน่ายรองรับจนถึง

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 (เซิร์ฟเวอร์)
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 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 (เซิร์ฟเวอร์)
10.10 Maerkick 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 Quantal Quetzal 2012-10-18 2014-05-16
13.04 Raring Ringtail 2013-04-25 2014-01-27
13.10 Saucy Salamander 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 Wily Werewolf 2015-10-22 2016-07
16.04 LTS Xenial Xerus 2016-04-21 2021-04

กฎระเบียบ

  • สำหรับแต่ละรุ่นที่รองรับสตริงรุ่นที่แน่นอนจะถูกส่งออกเช่น 4.10
  • สำหรับเวอร์ชัน LTS (การสนับสนุนระยะยาว) LTSจะถูกผนวกเข้ากับเวอร์ชัน
  • LTS ที่เก่าแก่ที่สุดสามรุ่นมีสองรสชาติ ได้แก่ เดสก์ท็อปและเซิร์ฟเวอร์ หากทั้งสองเวอร์ชัน LTS เหล่านี้ได้รับการสนับสนุนในวันที่กำหนดเอาท์พุทจะเป็นสตริงของรุ่นดังกล่าวข้างต้น อย่างไรก็ตามหากรองรับเฉพาะรุ่นเซิร์ฟเวอร์คุณจะต้องต่อ-serverท้ายสตริงสตริง
  • ในช่วงเวลาของการเขียน 4 รุ่นล่าสุดมีเพียง YYYY-MM ในวันที่ได้รับการสนับสนุนจนถึงวันที่ คุณต้องปฏิบัติต่อวันเหล่านี้ราวกับว่าพวกเขาเป็นวันสุดท้ายของเดือนที่กำหนด เช่น 2019-04 ต้องถือว่าเป็น 2019-04-30
  • จะไม่มีเอาต์พุตสำหรับวันที่ที่อยู่นอกช่วงวันที่ที่จับในตาราง
  • รูปแบบวันที่ป้อนมีความยืดหยุ่น แต่ต้องมีการแจงนับปีเดือนและวัน จำนวนวันหรือวินาที (หรือหน่วยอื่น ๆ ) จากกาลเวลาไม่ใช่รูปแบบอินพุตที่ถูกต้อง
  • รายการผลลัพธ์อาจกำหนดเป็นรูปแบบที่สะดวกสำหรับภาษาของคุณ
  • คุณสามารถใช้ฟังก์ชัน datetime จากภาษาของคุณ
  • คุณอาจจะสมมติว่าอินพุตทั้งหมดนั้นถูกต้อง

ตัวอย่าง:

อินพุต: เอาต์พุต:

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.04LTS
2021/05/01    

4
Breezy Badger ...
Alex A.

ตัวอย่างบางส่วนของคุณไม่ถูกต้อง 2010-10-10ควรกลับมา6.06LTS-server, 8.04LTS, 9.04, 9.10LTS, 10.04LTS, 10.10
Mwr247

@ Mwr247 ขอบคุณ - ฉันได้แก้ไขแล้ว คุณเห็นข้อผิดพลาดอื่น ๆ หรือไม่?
Digital Trauma

@ Mwr247 Ah - ฉันลืมที่จะพูดสตริงวันที่เมื่อผ่านไปยังฟังก์ชั่น
Digital Trauma

1
@DigitalTrauma อ๊ะ! ฉันลบการจัดกลุ่มในนั้นเพื่อบันทึกอักขระสองตัว แต่ไม่ได้ตระหนักถึงผลกระทบที่มีต่อแง่มุมของเงื่อนไขนั้น ตอนนี้ได้รับการแก้ไขแล้ว
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 ในเบราว์เซอร์ได้หรือไม่? หรือวิธีที่ง่ายที่สุดในการตรวจสอบคืออะไร?
Digital Trauma

@DigitalTrauma ใช่เพียงแค่กำหนดฟังก์ชั่นให้กับตัวแปร (เพิ่มF=ก่อนโค้ดด้านบน) จากนั้นก็เรียกฟังก์ชั่นผ่านมัน ( F("2010-10-10")) คุณสามารถเรียกใช้มันได้ในคอนโซลนักพัฒนาเบราว์เซอร์สมัยใหม่ (ปุ่ม f12)
Mwr247

+1 - ดูดีตอนนี้! (ไม่แน่ใจว่าทำไมฉันใส่ความเห็นก่อนหน้านี้กับคำถามของฉันและไม่ใช่คำตอบของคุณ - โอ้ดี - คุณมีประเด็น :))
Digital Trauma
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.