рдореИрдВ рдЕрдкрдиреА рдкрд╕рдВрджреАрджрд╛ рднрд╛рд╖рд╛ рдореЗрдВ "10 рд╡рди-рд▓рд╛рдЗрдирд░реНрд╕" рдХреЗ рднреВрд▓ рдЧрдП рд╡рд┐рд╖рдп рдкрд░ рд▓реМрдЯрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рд╣реЛрдмреЗ рдкрд░ рд╕реНрдЯреЙрд░реНрдореА рдХреА рдЪрд░реНрдЪрд╛
рдХрдИ рдорд╣реАрдиреЗ рдкрд╣рд▓реЗ рд╣реБрдИ рдереА ред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдХрдИ рдиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХрд▓-рд▓рд╛рдЗрдирд░реНрд╕ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдФрд░ рдЙрдирдореЗрдВ рд╕реЗ рдХрдИ рдкрдардиреАрдп рдирд╣реАрдВ рдереЗред рдореИрдВ рд░реИрдХреЗрдЯ рдкрд░ рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЬреЛ рдХреБрдЫ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдореВрд▓ рд╕реНрдХрд╛рд▓рд╛ рдЙрджрд╛рд╣рд░рдг рдХреЛ рднреА рдкрд╛рд░ рдХрд░рддрд╛ рд╣реИред
1. рд╕реВрдЪреА рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдЖрдЗрдЯрдо рдХреЛ рдбрдмрд▓ рдХрд░реЗрдВ
рдЖрдк рдпрд╣ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
(for/list ((i (in-range 10))) (* 2 i))
рдпрд╛ рддреЛ:
(map (curry * 2) (build-list 10 (╬╗ (x) x)))
2. рд╕реВрдЪреА рдореЗрдВ рд╕рднреА рдирдВрдмрд░реЛрдВ рдХреЛ рд╕рд╛рд░рд╛рдВрд╢рд┐рдд рдХрд░реЗрдВ
(apply + (build-list 10000 (╬╗ (x) x)))
3. рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ
(define wordlist '("Racket" "akka" "play framework" "sbt" "curring"))
рдкрд╣рд▓реА рдШрдЯрдирд╛ рдкрд╛рддрд╛ рд╣реИ (рдпрджрд┐ рдирд╣реАрдВ, рддреЛ # рд░рд┐рдЯрд░реНрди):
(findf (curryr regexp-match? tweet) wordlist)
рдЯреНрд╡реАрдЯ рдореЗрдВ рдореМрдЬреВрдж рд╕рдмреНрд╕реНрдЯреАрдЯрдпреВрдЯ рд╢рдмреНрдж рд╕реВрдЪреА рдореЗрдВ рд╕реЗ рдЪрдпрди рдХрд░рддрд╛ рд╣реИ:
(filter (curryr regexp-match? tweet) wordlist)
4. рдПрдХ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдкрдврд╝рдирд╛
(file->string "file.txt")
5. рдЧреАрдд "рдЬрдиреНрдорджрд┐рди рдореБрдмрд╛рд░рдХ рд╣реЛ"
рдЯрд╛рдЗрдореНрд╕ рд╡рд┐рдХрд▓реНрдк
(for-each (╬╗ (x) (display (string-append "Happy Birthday" (if x ", dear John" " to You") "\n"))) '(#f #f #t #f))
рджреЛ рд╡рд┐рдХрд▓реНрдк
(for ((x (in-range 4))) (display (string-append "Happy Birthday" (if (= x 2) ", dear John" " to You") "\n")))
рддреАрди рд╡рд┐рдХрд▓реНрдк
(display-lines (build-list 4 (╬╗ (x) (string-append "Happy Birthday" (if (= x 2) ", dear John" " to You")))))
6. рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреА рд╕реВрдЪреА рдХреЛ рдЫрд╛рдирдирд╛
(partition (curry > 60) '(49 58 76 82 88 90))
рджреЛ рд╕реВрдЪрд┐рдпрд╛рдБ рд▓реМрдЯрд╛рддрд╛ рд╣реИ - рдПрдХ рдЬреЛ рд╢рд░реНрдд рдХреЛ рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдПрдХ рдЬреЛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
7. рд╡реЗрдм рд╕реЗрд╡рд╛ рд╕реЗ XML рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдФрд░ рдкрд╛рд░реНрд╕ рдХрд░рдирд╛
рдорд╛рдирдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ:
(require net/url xml)
рдирд┐рдореНрди рдХреНрд░рд┐рдпрд╛ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк xml рдХреЛ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреА рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рд░рдЦрддреА рд╣реИ
(define doc (read-xml (get-pure-port (string->url "http://search.twitter.com/search.atom?&q=racket"))))
рдпрджрд┐ рд╡рд╛рдВрдЫрд┐рдд рд╣реИ, рддреЛ рдЖрдк рдкрд░рд┐рдгрд╛рдореА рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЛ рдкреЗрдбрд╝ рдореЗрдВ рдкрд╛рд░реНрд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рд▓рд┐рд╕реНрдк рдХрд╛ рдореВрд▓ рд╕реНрд╡рд░реВрдк, рдЬреЛ рд░реИрдХреЗрдЯ рд╣реИ:
(xml->xexpr (document-element doc))
8. рд╕реВрдЪреА рдореЗрдВ рдиреНрдпреВрдирддрдо (рдпрд╛ рдЕрдзрд┐рдХрддрдо) рдЦреЛрдЬреЗрдВ
рд╕рдВрдЦреНрдпрд╛ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдирд╣реАрдВ:
(apply max '(14 35 -7 46 98)) (apply min '(14 35 -7 46 98))
9. рд╕рдорд╛рдирд╛рдВрддрд░ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг
рдХреБрдЫ рдбреЗрдЯрд╛ рд╣реЛрдиреЗ рджреЛред рдкрд░реАрдХреНрд╖рдг рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдо рд╕рд╛рдорд╛рдиреНрдп рд╕реВрдЪреА рджреЗрддреЗ рд╣реИрдВ:
(define data-list '(ABCDEFGH))
рдФрд░ рдХреБрдЫ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИред рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рд▓рд┐рдП, рд╣рдо рдкреНрд░рддреАрдХ рдХреЗ рдХрдИ рдореБрджреНрд░рдг рдЪреБрдирддреЗ рд╣реИрдВ:
(define (process sym) (for ((n (in-range 10))) (display sym)))
рд╕рдорд╛рдирд╛рдВрддрд░ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдЗрд╕ рддрд░рд╣ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ:
(for ((x data-list)) (thread (╬╗ () (process x))))
10. рдПрд░рд╛рдЯреЛрд╕реНрдердиреАрдЬ рдХреА рдЫрд▓рдиреА
рдХрд╛рд░реНрдп рдмрд▓реНрдХрд┐ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рд╣реИред рдЗрд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВред
рдпрд╣рд╛рдВ 2 рд╕реЗ рдЕрдзрд┐рдХрддрдо рд╕рдВрдЦреНрдпрд╛ рдХреА рд╕реВрдЪреА рджреА рдЧрдИ рд╣реИ
(define (eratosphen max) (let er ([lst null] [cur 2]) (cond [(> cur max) (reverse lst)] [(ormap (╬╗ (x) (= (remainder cur x) 0)) lst) (er lst (add1 cur))] [else (er (cons cur lst) (add1 cur))])))
рдпрд╣ рдПрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рд▓рд┐рдЦрдиреЗ рд▓рд╛рдпрдХ рдирд╣реАрдВ рд╣реИред
рдФрд░ рдЕрдЧрд░ рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдПрд░рд╛рдЯреЛрд╕реНрдердиреАрдЬ рдХреА рдЫрд▓рдиреА рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рд╛рджрдЧреА рдХреЗ рд▓рд┐рдП рд╕рдВрдЦреНрдпрд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдХреЛрдб рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд▓рд╛рдЗрди рдореЗрдВ рдлрд┐рдЯ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ (рдЬрд╛рдБрдЪ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╕рдВрдЦреНрдпрд╛ 113 рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП)ред
(let check ([cur 2] [n 113]) (cond [(= (remainder n cur) 0) #f] [(> (sqr cur) n) #t] [else (check (add1 cur) n)]))
рд▓реЗрдХрд┐рди рдореИрдВ рдЕрднреА рднреА рдЗрд╕реЗ "рд╕реАрдврд╝реА рдореЗрдВ" рддреЛрдбрд╝ рджреВрдВрдЧрд╛, рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЗ рдЕрдиреНрдп рд╕рднреА рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреА рддрд░рд╣ред