mirror of
https://github.com/carp-lang/Carp.git
synced 2024-09-11 13:37:57 +03:00
core: rename unsafe-range to range-or-default
This commit is contained in:
parent
74d734903e
commit
be8424657d
@ -24,8 +24,8 @@ the input given was wrong, containing an error message.")
|
||||
(set! e (+ e step))))
|
||||
(Result.Success x))))
|
||||
|
||||
(doc unsafe-range "is an unsafe version of [`range](#range). It returns an
|
||||
empty array on failure.")
|
||||
(defn unsafe-range [start end step]
|
||||
(doc range-or-default "is an unsafe version of [`range](#range). It returns
|
||||
an empty array on failure.")
|
||||
(defn range-or-default [start end step]
|
||||
(Result.from-success (range start end step) []))
|
||||
)
|
||||
|
@ -965,6 +965,27 @@ the input given was wrong, containing an error message.</p>
|
||||
|
||||
</p>
|
||||
</div>
|
||||
<div class="binder">
|
||||
<a class="anchor" href="#range-or-default">
|
||||
<h3 id="range-or-default">
|
||||
range-or-default
|
||||
</h3>
|
||||
</a>
|
||||
<div class="description">
|
||||
defn
|
||||
</div>
|
||||
<p class="sig">
|
||||
(Fn [a, a, a] (Array a))
|
||||
</p>
|
||||
<pre class="args">
|
||||
(range-or-default start end step)
|
||||
</pre>
|
||||
<p class="doc">
|
||||
<p>is an unsafe version of <a href="#range">`range</a>. It returns
|
||||
an empty array on failure.</p>
|
||||
|
||||
</p>
|
||||
</div>
|
||||
<div class="binder">
|
||||
<a class="anchor" href="#raw">
|
||||
<h3 id="raw">
|
||||
@ -1480,27 +1501,6 @@ no longer satisfy <code>test</code>. The initial value is <code>start</code>.</p
|
||||
|
||||
</p>
|
||||
</div>
|
||||
<div class="binder">
|
||||
<a class="anchor" href="#unsafe-range">
|
||||
<h3 id="unsafe-range">
|
||||
unsafe-range
|
||||
</h3>
|
||||
</a>
|
||||
<div class="description">
|
||||
defn
|
||||
</div>
|
||||
<p class="sig">
|
||||
(Fn [a, a, a] (Array a))
|
||||
</p>
|
||||
<pre class="args">
|
||||
(unsafe-range start end step)
|
||||
</pre>
|
||||
<p class="doc">
|
||||
<p>is an unsafe version of <a href="#range">`range</a>. It returns an
|
||||
empty array on failure.</p>
|
||||
|
||||
</p>
|
||||
</div>
|
||||
<div class="binder">
|
||||
<a class="anchor" href="#unsafe-raw">
|
||||
<h3 id="unsafe-raw">
|
||||
|
@ -45,7 +45,7 @@
|
||||
ff2 @&ff1
|
||||
to-copy @to
|
||||
upper (to-copy)]
|
||||
(endo-map &(fn [x] (Int.pow x exponent)) (unsafe-range 0 upper 1))))
|
||||
(endo-map &(fn [x] (Int.pow x exponent)) (range-or-default 0 upper 1))))
|
||||
|
||||
(defn twenty [] 20)
|
||||
|
||||
|
@ -14,7 +14,7 @@
|
||||
(defn make-zero [] 0)
|
||||
(defn make-idx [i] i)
|
||||
|
||||
(def a (unsafe-range 0 9 1))
|
||||
(def a (range-or-default 0 9 1))
|
||||
(def b (Array.replicate 5 "Hi"))
|
||||
|
||||
(deftest test
|
||||
@ -77,7 +77,7 @@
|
||||
"maximum works as expected")
|
||||
(assert-ref-equal test
|
||||
(Maybe.Just 1)
|
||||
(minimum &(unsafe-range 1 10 1))
|
||||
(minimum &(range-or-default 1 10 1))
|
||||
"minimum works as expected")
|
||||
(assert-ref-equal test
|
||||
(Maybe.Just (Pair.init 2 1))
|
||||
@ -96,19 +96,19 @@
|
||||
"index-of works as expected when element is not in the array")
|
||||
(assert-equal test
|
||||
55
|
||||
(sum &(unsafe-range 1 10 1))
|
||||
(sum &(range-or-default 1 10 1))
|
||||
"sum works as expected")
|
||||
(assert-ref-equal test
|
||||
[2 3]
|
||||
(slice &(unsafe-range 1 10 1) 1 3)
|
||||
(slice &(range-or-default 1 10 1) 1 3)
|
||||
"slice works as expected")
|
||||
(assert-ref-equal test
|
||||
[1 2 3]
|
||||
(prefix &(unsafe-range 1 10 1) 3)
|
||||
(prefix &(range-or-default 1 10 1) 3)
|
||||
"prefix works as expected")
|
||||
(assert-ref-equal test
|
||||
[8 9 10]
|
||||
(suffix &(unsafe-range 1 10 1) 7)
|
||||
(suffix &(range-or-default 1 10 1) 7)
|
||||
"suffix works as expected")
|
||||
(assert-nothing test
|
||||
&(nth &a 100)
|
||||
@ -244,7 +244,7 @@
|
||||
"Array.pop-back! works as expected"))
|
||||
(assert-ref-equal test
|
||||
[1 2 3 4 5 6 7 8 9]
|
||||
(sort (unsafe-range 9 1 -1))
|
||||
(sort (range-or-default 9 1 -1))
|
||||
"sort works as expected")
|
||||
(let-do [arr [3 2 5]
|
||||
exp [2 3 5]]
|
||||
@ -264,23 +264,23 @@
|
||||
(empty? &[1])
|
||||
"empty? works as expected II")
|
||||
(assert-true test
|
||||
(any? &(fn [x] (= 0 @x)) &(unsafe-range 0 10 1))
|
||||
(any? &(fn [x] (= 0 @x)) &(range-or-default 0 10 1))
|
||||
"any? works as expected I")
|
||||
(assert-false test
|
||||
(any? &(fn [x] (= 0 @x)) &(unsafe-range 1 10 1))
|
||||
(any? &(fn [x] (= 0 @x)) &(range-or-default 1 10 1))
|
||||
"any? works as expected II")
|
||||
(assert-true test
|
||||
(all? &(fn [x] (< 0 @x)) &(unsafe-range 1 10 1))
|
||||
(all? &(fn [x] (< 0 @x)) &(range-or-default 1 10 1))
|
||||
"all? works as expected I")
|
||||
(assert-false test
|
||||
(all? &(fn [x] (= 0 @x)) &(unsafe-range 10 1 -1))
|
||||
(all? &(fn [x] (= 0 @x)) &(range-or-default 10 1 -1))
|
||||
"all? works as expected II")
|
||||
(assert-ref-equal test
|
||||
(Maybe.Just 3)
|
||||
(find &(fn [x] (= 3 @x)) &(unsafe-range 1 10 1))
|
||||
(find &(fn [x] (= 3 @x)) &(range-or-default 1 10 1))
|
||||
"find works as expected I")
|
||||
(assert-nothing test
|
||||
&(find &(fn [x] (= 0 @x)) &(unsafe-range 1 10 1))
|
||||
&(find &(fn [x] (= 0 @x)) &(range-or-default 1 10 1))
|
||||
"find works as expected II")
|
||||
(assert-nothing test
|
||||
&(find-index &(fn [i] (Int.even? @i)) &[1 3 5])
|
||||
|
@ -224,7 +224,7 @@
|
||||
|
||||
; minimal case from bug #343
|
||||
(let-do [arr [20 0 10 21 11 1 2 22 12 24 23 13 3 14 4 25 5 15 16 6 17 7 8 18 19 9]
|
||||
exp (Array.unsafe-range 0 25 1)]
|
||||
exp (Array.range-or-default 0 25 1)]
|
||||
(Array.sort! &arr)
|
||||
(assert-equal test
|
||||
&exp
|
||||
|
@ -284,7 +284,7 @@
|
||||
(assert (= &[@"c" @"b" @"a"] &xs)))))
|
||||
|
||||
(defn array-range []
|
||||
(let [xs (Array.unsafe-range 0 5 1)]
|
||||
(let [xs (Array.range-or-default 0 5 1)]
|
||||
(assert (= &[0 1 2 3 4 5] &xs))))
|
||||
|
||||
(defmodule ArrayCompareExtension
|
||||
|
Loading…
Reference in New Issue
Block a user