Calendar: Difference between revisions
Content added Content deleted
(→{{header|Ruby}}: tput co gets the number of colors, not cols) |
(→{{header|Racket}}: Include output, change encoding) |
||
Line 2,579: | Line 2,579: | ||
=={{header|Racket}}== |
=={{header|Racket}}== |
||
<lang racket> |
<lang racket>#lang racket |
||
⚫ | |||
#lang racket |
|||
⚫ | |||
(define (calendar yr) |
(define (calendar yr) |
||
(define (nsplit n l) (if (null? l) l (cons (take l n) (nsplit n (drop l n))))) |
(define (nsplit n l) (if (null? l) l (cons (take l n) (nsplit n (drop l n))))) |
||
Line 2,600: | Line 2,599: | ||
(~a (+ d 1) #:width 2 #:align 'right)) |
(~a (+ d 1) #:width 2 #:align 'right)) |
||
,@(make-list (- 42 pfx days) " "))))))) |
,@(make-list (- 42 pfx days) " "))))))) |
||
(let ([s #"nZA7CsAgDED3nCLgoAU/3Uvv4SCE3qKD5OyNWvoBhdIHSswjMYp4YR2z80Tk8StOgP |
|||
(let* ([s '(" 11,-~4-._3. 41-4! 10/ ()=(2) 3\\ 40~a! 9( 3( 80 39-4! 10\\._\\" |
|||
sY0EyrMZOE6WsL3u4G5lyV+d8MyVOy8hZBt7RSMca9Ac/KUIs1L/BOysb50XMtMzEj |
|||
", ,-4'! 5#2X3x7! 12/ 2-3'~2;! 11/ 4/~2|-! 9=( 3~4 2|! 3/~42\\! " |
|||
ZqiuRxIVqI+4kSpy7GqpXNsz+bfpfWIGOAA="] |
|||
"2/_23\\! /_25\\!/_27\\! 3|_20|! 3|_20|! 3|_20|! 3| 20|!!")] |
|||
[o (open-output-string)]) |
|||
(inflate (open-input-bytes (base64-decode s)) o) |
|||
[s (regexp-replace* #rx".(?:[1-7][0-9]*|[1-9])" s |
|||
(display (regexp-replace #rx"~a" (get-output-string o) (~a yr)))) |
|||
⚫ | |||
(printf s yr)) |
|||
(for-each displayln |
(for-each displayln |
||
(dropf-right (for*/list ([3ms (nsplit 3 months)] [s (apply map list 3ms)]) |
(dropf-right (for*/list ([3ms (nsplit 3 months)] [s (apply map list 3ms)]) |
||
Line 2,613: | Line 2,610: | ||
(λ(s) (equal? "" s))))) |
(λ(s) (equal? "" s))))) |
||
(calendar 1969) |
(calendar 1969)</lang> |
||
</lang> |
|||
{{out}} |
|||
<pre> ,-~~-.___. ---- |
|||
/ ()=(() \ 1969 |
|||
( ( 0 ---- |
|||
\._\, ,----' |
|||
##XXXxxxxxxx |
|||
/ ---'~; |
|||
/ /~|- |
|||
=( ~~ | |
|||
/~~~~~~~~~~~~~~~~~~~~~\ |
|||
/_______________________\ |
|||
/_________________________\ |
|||
/___________________________\ |
|||
|____________________| |
|||
|____________________| |
|||
|____________________| |
|||
| | |
|||
January February March |
|||
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa |
|||
1 2 3 4 1 1 |
|||
5 6 7 8 9 10 11 2 3 4 5 6 7 8 2 3 4 5 6 7 8 |
|||
12 13 14 15 16 17 18 9 10 11 12 13 14 15 9 10 11 12 13 14 15 |
|||
19 20 21 22 23 24 25 16 17 18 19 20 21 22 16 17 18 19 20 21 22 |
|||
26 27 28 29 30 31 23 24 25 26 27 28 23 24 25 26 27 28 29 |
|||
⚫ | |||
April May June |
|||
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa |
|||
1 2 3 4 5 1 2 3 1 2 3 4 5 6 7 |
|||
6 7 8 9 10 11 12 4 5 6 7 8 9 10 8 9 10 11 12 13 14 |
|||
13 14 15 16 17 18 19 11 12 13 14 15 16 17 15 16 17 18 19 20 21 |
|||
20 21 22 23 24 25 26 18 19 20 21 22 23 24 22 23 24 25 26 27 28 |
|||
27 28 29 30 25 26 27 28 29 30 31 29 30 |
|||
July August September |
|||
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa |
|||
1 2 3 4 5 1 2 1 2 3 4 5 6 |
|||
6 7 8 9 10 11 12 3 4 5 6 7 8 9 7 8 9 10 11 12 13 |
|||
13 14 15 16 17 18 19 10 11 12 13 14 15 16 14 15 16 17 18 19 20 |
|||
20 21 22 23 24 25 26 17 18 19 20 21 22 23 21 22 23 24 25 26 27 |
|||
27 28 29 30 31 24 25 26 27 28 29 30 28 29 30 |
|||
31 |
|||
October November December |
|||
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa |
|||
1 2 3 4 1 1 2 3 4 5 6 |
|||
5 6 7 8 9 10 11 2 3 4 5 6 7 8 7 8 9 10 11 12 13 |
|||
12 13 14 15 16 17 18 9 10 11 12 13 14 15 14 15 16 17 18 19 20 |
|||
19 20 21 22 23 24 25 16 17 18 19 20 21 22 21 22 23 24 25 26 27 |
|||
26 27 28 29 30 31 23 24 25 26 27 28 29 28 29 30 31 |
|||
30</pre> |
|||
=={{header|REXX}}== |
=={{header|REXX}}== |