diff options
author | elioat <elioat@tilde.institute> | 2022-12-13 11:47:58 -0500 |
---|---|---|
committer | elioat <elioat@tilde.institute> | 2022-12-13 11:47:58 -0500 |
commit | 44bb45d2b4cea2186988020d692c9fd9b6eea78d (patch) | |
tree | 2f923ff78ea3553185163b7739b3355f3ab9fe66 /src/tmp.rkt | |
parent | 1e75b821485dd166267b91fed2e50710aad5c5ad (diff) | |
download | december-2022-44bb45d2b4cea2186988020d692c9fd9b6eea78d.tar.gz |
cleaning up
Diffstat (limited to 'src/tmp.rkt')
-rw-r--r-- | src/tmp.rkt | 63 |
1 files changed, 0 insertions, 63 deletions
diff --git a/src/tmp.rkt b/src/tmp.rkt deleted file mode 100644 index 089e066..0000000 --- a/src/tmp.rkt +++ /dev/null @@ -1,63 +0,0 @@ -#lang racket - -; (require sugar) - -(define test-data '#hash(("id" . 12) - ("name" . "butterfree") - ("sprite" . "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/12.png") - ("stats" - . (#hasheq((base_stat . 60) - (effort . 0) - (stat . #hasheq((name . "hp") (url . "https://pokeapi.co/api/v2/stat/1/")))) - #hasheq((base_stat . 45) - (effort . 0) - (stat . #hasheq((name . "attack") (url . "https://pokeapi.co/api/v2/stat/2/")))) - #hasheq((base_stat . 50) - (effort . 0) - (stat . #hasheq((name . "defense") (url . "https://pokeapi.co/api/v2/stat/3/")))) - #hasheq((base_stat . 90) - (effort . 2) - (stat . #hasheq((name . "special-attack") (url . "https://pokeapi.co/api/v2/stat/4/")))) - #hasheq((base_stat . 80) - (effort . 1) - (stat . #hasheq((name . "special-defense") (url . "https://pokeapi.co/api/v2/stat/5/")))) - #hasheq((base_stat . 70) - (effort . 0) - (stat . #hasheq((name . "speed") (url . "https://pokeapi.co/api/v2/stat/6/")))))) - ("types" - . (#hasheq((slot . 1) - (type . #hasheq((name . "bug") (url . "https://pokeapi.co/api/v2/type/7/")))) - #hasheq((slot . 2) - (type . #hasheq((name . "flying") (url . "https://pokeapi.co/api/v2/type/3/")))))))) - - -; (define d (dict->list test-data)) ; or...you know...could convert from hash table to list? - - -; (hash? (car (hash-ref test-data "stats"))) ; #t --- BOOM! this gets us a hash table! -; (display (car (hash-ref test-data "stats"))) -; (list? (hash-ref test-data "stats")) ;; #t - -;; "stats" and "types" AREN'T exactly nested hash tables! They're lists, with hash tables embedded in them! -;; SO! I need a way to test for if something is a LIST, and then if it is a LIST I think then I hash map through that! - -;; NEXT STEPS -> https://stackoverflow.com/questions/13504302/racket-scheme-filtering - -; (hash-ref test-data "stats") ; all stats -; (hash-ref (car (hash-ref test-data "stats")) 'base_stat) ; value for a given stat -; (hash-ref (hash-ref (car (hash-ref test-data "stats")) 'stat) 'name) ; name for a given stat - -; [(list? v) (map (lambda (x) (inspector x)) v)] -; [(hash? (car (hash-ref k "stats")) (map (lambda (x) (inspector x)) v))] - -(define (inspector h) - "display the contents of a hash table for human eyeballs and let the hash table fall back out" - (hash-map h - (lambda (k v) - (cond [(list? v) (cond - [(hash? (car (hash-ref k "stats")) (map (lambda (x) (inspector x) v)))] ; this is probably dumb, since it'll require at least another level of nesting... - [map (lambda (x) (inspector x)) v])] - [(display (~a " key: " k "\nvalue: " v "\n=====\n"))]))) - h) - -(inspector test-data) |