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
(require racket/date net/base64 file/gunzip)
#lang racket
(require racket/date)
(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|!!")]
[s (regexp-replace* #rx"!" (string-append* s) "\n")]
[o (open-output-string)])
(inflate (open-input-bytes (base64-decode s)) o)
[s (regexp-replace* #rx".(?:[1-7][0-9]*|[1-9])" s
(λ(m) (make-string (string->number (substring m 1))
(display (regexp-replace #rx"~a" (get-output-string o) (~a yr))))
(string-ref m 0))))])
(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
30 31
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}}==