mirror of
https://github.com/JustinSDK/dotSCAD.git
synced 2025-07-31 20:10:36 +02:00
use scad to reduce dependencies
This commit is contained in:
15
src/util/_impl/_split_str_impl.scad
Normal file
15
src/util/_impl/_split_str_impl.scad
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
use <util/sub_str.scad>;
|
||||||
|
|
||||||
|
function _split_t_by(idxs, t) =
|
||||||
|
let(leng = len(idxs))
|
||||||
|
concat(
|
||||||
|
[sub_str(t, 0, idxs[0])],
|
||||||
|
[
|
||||||
|
for(i = 0; i < leng; i = i + 1)
|
||||||
|
sub_str(t, idxs[i] + 1, idxs[i + 1])
|
||||||
|
]
|
||||||
|
);
|
||||||
|
|
||||||
|
function _split_str_impl(t, delimiter) =
|
||||||
|
len(search(delimiter, t)) == 0 ?
|
||||||
|
[t] : _split_t_by(search(delimiter, t, 0)[0], t);
|
@@ -8,16 +8,6 @@
|
|||||||
*
|
*
|
||||||
**/
|
**/
|
||||||
|
|
||||||
function _split_t_by(idxs, t) =
|
use <_impl/_split_str_impl.scad>;
|
||||||
let(leng = len(idxs))
|
|
||||||
concat(
|
function split_str(t, delimiter) = _split_str_impl(t, delimiter);
|
||||||
[sub_str(t, 0, idxs[0])],
|
|
||||||
[
|
|
||||||
for(i = 0; i < leng; i = i + 1)
|
|
||||||
sub_str(t, idxs[i] + 1, idxs[i + 1])
|
|
||||||
]
|
|
||||||
);
|
|
||||||
|
|
||||||
function split_str(t, delimiter) =
|
|
||||||
len(search(delimiter, t)) == 0 ?
|
|
||||||
[t] : _split_t_by(search(delimiter, t, 0)[0], t);
|
|
@@ -1,6 +1,5 @@
|
|||||||
include <unittest.scad>;
|
use <unittest.scad>;
|
||||||
include <util/sub_str.scad>;
|
use <util/split_str.scad>;
|
||||||
include <util/split_str.scad>;
|
|
||||||
|
|
||||||
module test_split_str() {
|
module test_split_str() {
|
||||||
echo("==== test_split_str ====");
|
echo("==== test_split_str ====");
|
||||||
|
Reference in New Issue
Block a user