สิ่งที่คุณต้องทำเพื่อให้ได้รับความท้าทายนี้คือการเขียนสคริปต์ "timeago" ที่สั้นที่สุดที่แสดงจำนวนทศวรรษปีสัปดาห์สัปดาห์วันชั่วโมงนาทีและวินาทีระหว่างเวลาประทับ Unix ที่กำหนดและเวลาที่สคริปต์ทำงาน
คุณจะต้องให้แตกต่างของเวลาใน "ข้อตกลงต่ำสุด" เช่น1 week
ไม่ได้7 days
, ไม่ได้9 years
0 decades 9 years
นอกจากนี้คุณยังจะต้องใช้รูปพหูพจน์ได้อย่างถูกต้องเช่นไม่ได้1 day
1 days
สคริปต์ของคุณจะต้องถูกต้องภายในบวกหรือลบ 1 วินาที (ดังนั้นวิธีการปัดเศษที่สองนั้นไม่สำคัญ)
Time Equivalency Table
1 decade = 10 years
1 year = 31536000 seconds (not technically correct but close enough)
1 week = 7 days
1 day = 24 hours
1 hour = 60 minutes
1 minute = 60 seconds
ผลลัพธ์ควรอยู่ในรูปแบบ
A decade(s) B year(s) C week(s) D day(s) E hour(s) F minute(s) G second(s)
โดยที่A...G
เป็นจำนวนเต็มไม่เป็นลบทั้งหมดและs
มีไว้สำหรับพหูพจน์เท่านั้น
หมายเหตุ
- การประทับเวลาจะเป็นเวลาจากอดีต มันอาจจะเป็นลบ
- อินพุตและเอาต์พุตอาจเป็นสิ่งที่สมเหตุสมผล: stdin / stdout ฟังก์ชันอินพุตและค่าส่งคืนเป็นต้น
- คุณไม่สามารถใช้เครื่องมือใด ๆ ที่ทำสิ่งนี้อยู่แล้ว เช่นถ้าภาษาของคุณมี
timesince(timestamp)
ฟังก์ชั่นในตัวคุณไม่สามารถใช้ฟังก์ชันนั้นได้
ฉันได้แก้ไขสิ่งนี้อย่างมากเพื่อให้ชัดเจนยิ่งขึ้นโดยหวังว่าจะยืนยันการต่อสู้ที่ค่อนข้างโง่ระหว่างผู้ใช้ใหม่ด้วยคำถามที่ไม่ชัดเจนและผู้ใช้เก่าที่ต้องการความสมบูรณ์แบบ มันไม่ได้เป็นคำถามที่น่ากลัว ( แต่ตอนนี้มันอาจจะคล้ายกันเกินไปที่นี้ )
เนื่องจากมีเวลาเพียงพอที่จะผ่านไปตั้งแต่คำตอบสุดท้ายฉันประกาศThree If By Whisky ที่มีการใช้ทับทิมขนาด 177 ไบต์ผู้ชนะในบริบทนี้!