Sha256: 7dd45bcecf9083cad5ec3093c9e16e8f93eb8dec3c66f586da6e9bd39194390d

Contents?: true

Size: 594 Bytes

Versions: 396

Compression:

Stored size: 594 Bytes

Contents

#lang racket

(provide response-for)

(define (response-for phrase)
  (cond
    [(silent? phrase) "Fine. Be that way!"]
    [(shouting? phrase) "Whoa, chill out!"]
    [(question? phrase) "Sure."]
    [else "Whatever."]))

(define (silent? phrase)
  (or (null? phrase)
      (equal? (string-normalize-spaces phrase) "")))

(define (shouting? phrase)
  (and (equal? (string-upcase phrase) phrase)
       (ormap (lambda (x) (char-alphabetic? x)) (string->list phrase))))

(define (question? phrase)
  (char=? #\?
          (string-ref phrase
                      (- (string-length phrase) 1))))

Version data entries

396 entries across 396 versions & 1 rubygems

Version Path
trackler-2.2.1.139 tracks/racket/exercises/bob/example.rkt
trackler-2.2.1.138 tracks/racket/exercises/bob/example.rkt
trackler-2.2.1.137 tracks/racket/exercises/bob/example.rkt
trackler-2.2.1.136 tracks/racket/exercises/bob/example.rkt
trackler-2.2.1.135 tracks/racket/exercises/bob/example.rkt
trackler-2.2.1.134 tracks/racket/exercises/bob/example.rkt
trackler-2.2.1.133 tracks/racket/exercises/bob/example.rkt
trackler-2.2.1.132 tracks/racket/exercises/bob/example.rkt
trackler-2.2.1.131 tracks/racket/exercises/bob/example.rkt
trackler-2.2.1.130 tracks/racket/exercises/bob/example.rkt
trackler-2.2.1.129 tracks/racket/exercises/bob/example.rkt
trackler-2.2.1.128 tracks/racket/exercises/bob/example.rkt
trackler-2.2.1.127 tracks/racket/exercises/bob/example.rkt
trackler-2.2.1.126 tracks/racket/exercises/bob/example.rkt
trackler-2.2.1.125 tracks/racket/exercises/bob/example.rkt
trackler-2.2.1.124 tracks/racket/exercises/bob/example.rkt
trackler-2.2.1.123 tracks/racket/exercises/bob/example.rkt
trackler-2.2.1.122 tracks/racket/exercises/bob/example.rkt
trackler-2.2.1.121 tracks/racket/exercises/bob/example.rkt
trackler-2.2.1.120 tracks/racket/exercises/bob/example.rkt