Phiên bản Ubuntu nào được hỗ trợ?


16

Cho một ngày đầu vào, mục nhập của bạn sẽ xuất ra danh sách đầy đủ các phiên bản được hỗ trợ của bản phân phối Ubuntu Linux vào ngày đó.

Các danh sách đầy đủ của tất cả các phiên như sau:

Phiên bản Tên mã Ngày phát hành Được hỗ trợ cho đến

4.10 Warthog Warthog 2004-10-20 2006-04-30
5.04 Hoary Hedgekey 2005-04-08 2006-10-31
5.10 Badger Badger 2005-10-13 2007-04-13
6.06 LTS Dapper Drake 2006-06-01 2009-07-14 2011-06-01 (Máy chủ)
6.10 Egy 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 (Máy chủ)
8.10 Ibex Intrepid 2008-10-30 2010-04-30
9.04 Jackalope Jasyy 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 (Máy chủ)
10.10 Maverick Meerkat 2010-10-10 2012-04-10
11.04 Natty Narwhal 2011-04-28 2012-10-28
11.10 Ocelot Oneiric 2011-10-13 2013-05-09
12.04 LTS Tê tê chính xác 2012-04-26 2017-04-26
12.10 Quetzal định lượng 2012-10-18 2014-05-16
13.04 Đổ chuông táo bạo 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 Kỳ lân không tưởng 2014-10-23 2015-07-23
15.04 Vervet sống động 2015-04-23 2016-01
15.10 Người sói Wily 2015-10-22 2016-07
16.04 LTS Xenial Xerus 2016-04-21 2021-04

Quy tắc

  • Đối với mỗi phiên bản được hỗ trợ, chuỗi phiên bản chính xác sẽ được xuất ra, ví dụ: 4.10
  • Đối với phiên bản LTS (hỗ trợ dài hạn), LTSsẽ được thêm vào phiên bản
  • Ba phiên bản LTS lâu đời nhất có hai loại - máy tính để bàn và máy chủ. Nếu cả hai phiên bản LTS này đều được hỗ trợ vào ngày đã cho, thì đầu ra sẽ chỉ là chuỗi phiên bản như trên. Tuy nhiên, nếu chỉ phiên bản máy chủ được hỗ trợ, thì bạn phải nối -servervào cuối chuỗi phiên bản
  • Tại thời điểm viết bài, 4 trong số các phiên bản gần đây chỉ có YYYY-MM trong các ngày được hỗ trợ cho đến ngày. Bạn phải coi những ngày này như thể chúng là ngày cuối cùng của tháng nhất định. ví dụ: 2019-04 phải được coi là 2019-04-30
  • Sẽ không có đầu ra cho các ngày nằm ngoài phạm vi ngày đầy đủ được ghi trong bảng
  • Các định dạng ngày đầu vào là linh hoạt, nhưng phải chứa một số liệt kê của Năm, Tháng và Ngày. Số ngày hoặc giây (hoặc các đơn vị khác) từ một kỷ nguyên không phải là định dạng đầu vào hợp lệ.
  • Danh sách đầu ra có thể được cung cấp ở bất kỳ định dạng nào thuận tiện cho ngôn ngữ của bạn
  • Bạn có thể sử dụng các hàm datetime từ ngôn ngữ của bạn
  • Bạn có thể cho rằng tất cả các đầu vào là hợp lệ

Ví dụ:

Đầu ra đầu vào:

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-máy chủ, 8.04LTS, 9.04, 9.10, 10.04LTS, 10.10
2021-04-30 16.04LTS
2021-05-01    

4
Breezy Badger ...?
Alex A.

Một số ví dụ của bạn không chính xác. 2010-10-10nên quay lại6.06LTS-server, 8.04LTS, 9.04, 9.10LTS, 10.04LTS, 10.10
Mwr247

@ Mwr247 Cảm ơn - Tôi đã sửa cái đó. Bạn có thấy lỗi nào khác không?
Chấn thương kỹ thuật số

@ Mwr247 Ah - Tôi quên trích dẫn chuỗi ngày khi chuyển đến một hàm.
Chấn thương kỹ thuật số

1
@DigitalTrauma Rất tiếc! Tôi đã loại bỏ một nhóm trong đó để cứu hai nhân vật, nhưng không nhận ra ảnh hưởng của nó đối với khía cạnh đó của điều kiện. Bây giờ nó đã được sửa.
Mwr247

Câu trả lời:


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

Xây dựng mảng dữ liệu chiếm ~ 68% tổng kích thước. Phần còn lại là định dạng đầu vào, tra cứu mảng và xây dựng chuỗi đầu ra.

Chuỗi dữ liệu được chia thành một mảng các mảng có độ dài 2 (bình thường) hoặc 3 (máy chủ). Các ngày được giảm xuống định dạng số, với "20" được tách ra (cùng với bất kỳ số 0 đứng đầu nào sau đó). LTS được biểu thị bằng một ngày bắt đầu tiêu cực. Số phiên bản có thể được lấy một cách thuận tiện từ tất cả trừ hai chữ số cuối của ngày bắt đầu tích cực, chia cho 100.


Woohoo - câu trả lời đầu tiên! Xin lỗi - tôi là người mới sử dụng JS - tôi có thể kiểm tra ES6 trên trình duyệt bằng cách nào đó không? Hoặc cách dễ nhất để xác minh là gì?
Chấn thương kỹ thuật số

@DigitalTrauma Có, chỉ cần gán hàm cho một biến (thêm F=trước mã ở trên) và sau đó chỉ cần gọi hàm qua nó ( F("2010-10-10")). Bạn có thể chạy nó trong bất kỳ bảng điều khiển dành cho nhà phát triển trình duyệt hiện đại nào (phím f12).
Mwr247

+1 - Có vẻ tốt ngay bây giờ! (không chắc tại sao tôi lại đưa ra những bình luận trước đây cho câu hỏi của riêng tôi chứ không phải câu trả lời của bạn - ồ tốt - bạn đã hiểu rồi :))
Chấn thương kỹ thuật số
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.