Sha256: 461b31f711889a49e0cebe1aa742e3753c00e1b30ccd99bf458ab384c45a579b

Contents?: true

Size: 537 Bytes

Versions: 396

Compression:

Stored size: 537 Bytes

Contents

#lang racket

(provide (contract-out
          [etl (-> valid-input valid-output)]))

(define (lower-case? s) (not (regexp-match? #rx"[A-Z]" s)))

;; Accept upper- or lower-case-letters strings as values
(define valid-input
  (hash/c exact-nonnegative-integer? (listof string?)))

;; Keys will always be lower-case
(define valid-output
  (hash/c lower-case? exact-nonnegative-integer?))

(define (etl h)
  (for*/hash ([(score letter*) (in-hash h)]
              [letter (in-list letter*)])
    (values (string-downcase letter) score)))

Version data entries

396 entries across 396 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/racket/exercises/etl/example.rkt
trackler-2.2.1.179 tracks/racket/exercises/etl/example.rkt
trackler-2.2.1.178 tracks/racket/exercises/etl/example.rkt
trackler-2.2.1.177 tracks/racket/exercises/etl/example.rkt
trackler-2.2.1.176 tracks/racket/exercises/etl/example.rkt
trackler-2.2.1.175 tracks/racket/exercises/etl/example.rkt
trackler-2.2.1.174 tracks/racket/exercises/etl/example.rkt
trackler-2.2.1.173 tracks/racket/exercises/etl/example.rkt
trackler-2.2.1.172 tracks/racket/exercises/etl/example.rkt
trackler-2.2.1.171 tracks/racket/exercises/etl/example.rkt
trackler-2.2.1.170 tracks/racket/exercises/etl/example.rkt
trackler-2.2.1.169 tracks/racket/exercises/etl/example.rkt
trackler-2.2.1.167 tracks/racket/exercises/etl/example.rkt
trackler-2.2.1.166 tracks/racket/exercises/etl/example.rkt
trackler-2.2.1.165 tracks/racket/exercises/etl/example.rkt
trackler-2.2.1.164 tracks/racket/exercises/etl/example.rkt
trackler-2.2.1.163 tracks/racket/exercises/etl/example.rkt
trackler-2.2.1.162 tracks/racket/exercises/etl/example.rkt
trackler-2.2.1.161 tracks/racket/exercises/etl/example.rkt
trackler-2.2.1.160 tracks/racket/exercises/etl/example.rkt