Make setNth n-dimensional
This commit is contained in:
@@ -315,13 +315,14 @@ class Macros {
|
|||||||
|
|
||||||
function arraySet(wholeExp:ReaderExp, exps:Array<ReaderExp>, k:KissState) {
|
function arraySet(wholeExp:ReaderExp, exps:Array<ReaderExp>, k:KissState) {
|
||||||
var b = wholeExp.expBuilder();
|
var b = wholeExp.expBuilder();
|
||||||
|
var value = exps.pop();
|
||||||
return b.call(
|
return b.call(
|
||||||
b.symbol("set"), [
|
b.symbol("set"), [
|
||||||
b.call(b.symbol("nth"), [exps[0], exps[1]]),
|
b.call(b.symbol("nth"), exps),
|
||||||
exps[2]
|
value
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
k.doc("setNth", 3, 3, "(setNth <list> <index> <value>)");
|
k.doc("setNth", 3, null, "(setNth <list> <index> <?n-dimensional indices...> <value>)");
|
||||||
macros["setNth"] = (wholeExp:ReaderExp, exps:Array<ReaderExp>, k:KissState) -> {
|
macros["setNth"] = (wholeExp:ReaderExp, exps:Array<ReaderExp>, k:KissState) -> {
|
||||||
arraySet(wholeExp, exps, k);
|
arraySet(wholeExp, exps, k);
|
||||||
};
|
};
|
||||||
|
Reference in New Issue
Block a user