From 22d8e55b30c3ce96b09008d9a798bc84e79939a3 Mon Sep 17 00:00:00 2001 From: Bob Tolbert Date: Wed, 15 Jan 2025 12:49:04 -0600 Subject: [PATCH 1/2] add examples for has-key? and has-value? --- examples/has-key_63.janet | 22 ++++++++++++++++++++++ examples/has-value_63.janet | 30 ++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 examples/has-key_63.janet create mode 100644 examples/has-value_63.janet diff --git a/examples/has-key_63.janet b/examples/has-key_63.janet new file mode 100644 index 0000000..18e3b4f --- /dev/null +++ b/examples/has-key_63.janet @@ -0,0 +1,22 @@ +# tables +(has-key? @{} 0) # -> false +(has-key? @{:key1 "foo" :key2 "bar"} :key1) # -> true +(has-key? @{:key1 "foo" :key2 "bar"} :key3) # -> false + +# structs +(has-key? {} 0) # -> false +(has-key? {:key1 "foo" :key2 "bar"} :key1) # -> true +(has-key? {:key1 "foo" :key2 "bar"} :key3) # -> false + +# buffers, tuples and arrays check for index as key +(has-key? "" 0) # -> false +(has-key? "a" 0) # -> true +(has-key? "a" 1) # -> false + +(has-key? [] 0) # -> false +(has-key? ["a" "b" "c"] 1) # -> true +(has-key? ["a" "b" "c"] 4) # -> false + +(has-key? @[] 0) # -> false +(has-key? @["a" "b" "c"] 1) # -> true +(has-key? @["a" "b" "c"] 4) # -> false \ No newline at end of file diff --git a/examples/has-value_63.janet b/examples/has-value_63.janet new file mode 100644 index 0000000..e308c4d --- /dev/null +++ b/examples/has-value_63.janet @@ -0,0 +1,30 @@ +# tables +(has-value? @{} 0) # -> false +(has-value? @{:key1 "foo" :key2 "bar"} "foo") # -> true +(has-value? @{:key1 "foo" :key2 "bar"} "hello") # -> false +(has-value? @{:key1 "foo" :key2 "bar"} nil) # -> false + +# structs +(has-value? {} 0) # -> false +(has-value? {:key1 "foo" :key2 "bar"} "foo") # -> true +(has-value? {:key1 "foo" :key2 "bar"} "hello") # -> false +(has-value? {:key1 "foo" :key2 "bar"} nil) # -> false + +# buffers - individual values are bytes +(has-value? "" 0) # -> false +(has-value? "" nil) # -> false +(has-value? "abc" 97) # -> true +(has-value? "abc" "a") # -> false +(has-value? "abc" 'a) # -> false + +# tuples +(has-value? [] 0) # -> false +(has-value? ["a" "b" "c"] "a") # -> true +(has-value? ["a" "b" "c"] 'a) # -> false +(has-value? ["a" "b" "c"] 97) # -> false + +#arrays +(has-value? @[] 0) # -> false +(has-value? @["a" "b" "c"] "a") # -> true +(has-value? @["a" "b" "c"] 'a) # -> false +(has-value? @["a" "b" "c"] 97) # -> false \ No newline at end of file From fbf78e94a22ccb00cafa0a2087917adbd5ebc59c Mon Sep 17 00:00:00 2001 From: sogaiu <33044872+sogaiu@users.noreply.github.com> Date: Thu, 16 Jan 2025 11:02:44 +0900 Subject: [PATCH 2/2] Tweak spacing in comment --- examples/has-value_63.janet | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/has-value_63.janet b/examples/has-value_63.janet index e308c4d..1ecb73c 100644 --- a/examples/has-value_63.janet +++ b/examples/has-value_63.janet @@ -23,8 +23,8 @@ (has-value? ["a" "b" "c"] 'a) # -> false (has-value? ["a" "b" "c"] 97) # -> false -#arrays +# arrays (has-value? @[] 0) # -> false (has-value? @["a" "b" "c"] "a") # -> true (has-value? @["a" "b" "c"] 'a) # -> false -(has-value? @["a" "b" "c"] 97) # -> false \ No newline at end of file +(has-value? @["a" "b" "c"] 97) # -> false