mirror of
https://github.com/janet-lang/janet
synced 2024-11-25 01:37:19 +00:00
Fix abstract? function.
This commit is contained in:
parent
2349e1a3be
commit
d791077e25
@ -102,7 +102,6 @@
|
|||||||
(defn function? "Check if x is a function (not a cfunction)."
|
(defn function? "Check if x is a function (not a cfunction)."
|
||||||
[x] (= (type x) :function))
|
[x] (= (type x) :function))
|
||||||
(defn cfunction? "Check if x a cfunction." [x] (= (type x) :cfunction))
|
(defn cfunction? "Check if x a cfunction." [x] (= (type x) :cfunction))
|
||||||
(defn abstract? "Check if x an abstract type." [x] (= (type x) :abstract))
|
|
||||||
(defn table? [x] "Check if x a table." (= (type x) :table ))
|
(defn table? [x] "Check if x a table." (= (type x) :table ))
|
||||||
(defn struct? [x] "Check if x a struct." (= (type x) :struct))
|
(defn struct? [x] "Check if x a struct." (= (type x) :struct))
|
||||||
(defn array? [x] "Check if x is an array." (= (type x) :array))
|
(defn array? [x] "Check if x is an array." (= (type x) :array))
|
||||||
|
@ -148,6 +148,11 @@ static int janet_core_buffer(JanetArgs args) {
|
|||||||
JANET_RETURN_BUFFER(args, b);
|
JANET_RETURN_BUFFER(args, b);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int janet_core_is_abstract(JanetArgs args) {
|
||||||
|
JANET_FIXARITY(args, 1);
|
||||||
|
JANET_RETURN_BOOLEAN(args, janet_checktype(args.v[0], JANET_ABSTRACT));
|
||||||
|
}
|
||||||
|
|
||||||
static int janet_core_scannumber(JanetArgs args) {
|
static int janet_core_scannumber(JanetArgs args) {
|
||||||
const uint8_t *data;
|
const uint8_t *data;
|
||||||
Janet x;
|
Janet x;
|
||||||
@ -320,6 +325,10 @@ static const JanetReg cfuns[] = {
|
|||||||
"converted to bytes via describe if they are not byte sequences. Returns "
|
"converted to bytes via describe if they are not byte sequences. Returns "
|
||||||
"the new symbol."
|
"the new symbol."
|
||||||
},
|
},
|
||||||
|
{"abstract?", janet_core_is_abstract,
|
||||||
|
"(abstract? x)\n\n"
|
||||||
|
"Check if x is an abstract type."
|
||||||
|
},
|
||||||
{"table", janet_core_table,
|
{"table", janet_core_table,
|
||||||
"(table & kvs)\n\n"
|
"(table & kvs)\n\n"
|
||||||
"Creates a new table from a variadic number of keys and values. "
|
"Creates a new table from a variadic number of keys and values. "
|
||||||
|
@ -82,5 +82,14 @@
|
|||||||
(assert (deep= (string.find-all "e" "onetwothree") @[2 9 10]) "string.find-all 1")
|
(assert (deep= (string.find-all "e" "onetwothree") @[2 9 10]) "string.find-all 1")
|
||||||
(assert (deep= (string.find-all "," "onetwothree") @[]) "string.find-all 2")
|
(assert (deep= (string.find-all "," "onetwothree") @[]) "string.find-all 2")
|
||||||
|
|
||||||
|
# Check if abstract test works
|
||||||
|
(assert (abstract? stdout) "abstract? stdout")
|
||||||
|
(assert (abstract? stdin) "abstract? stdin")
|
||||||
|
(assert (abstract? stderr) "abstract? stderr")
|
||||||
|
(assert (not (abstract? nil)) "not abstract? nil")
|
||||||
|
(assert (not (abstract? 1)) "not abstract? 1")
|
||||||
|
(assert (not (abstract? 3)) "not abstract? 3")
|
||||||
|
(assert (not (abstract? 5)) "not abstract? 5")
|
||||||
|
|
||||||
(end-suite)
|
(end-suite)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user