mirror of
https://github.com/ilyakooo0/urbit.git
synced 2024-12-19 21:02:01 +03:00
6cbb6b060d
This reverts commit 8e1e40d75b3ab15c194b6bf9570f3edc46e2de58. This reverts commit f073c490f9fd7c5abc033af4857df92229877de7. This reverts commit f187d2d7e01a54823f3e979af9bbd148b398e7e9. This reverts commit bc272862a73cfce1b118586ca39d3a377d841f1b. This reverts commit 30a397513f8890a3406dc7ab91c6e067e3bbfbbb. This reverts commit 4fc6856fb50d88c20a0f533392ca606641c5f38f. Conflicts: urb/urbit.pill urb/zod/base/lib/drum.hoon
1.4 KiB
1.4 KiB
centis, %=
, %cnts
Evaluate with changes
%=
is a natural hoon thatevaluates p
with the changes specified in
q
. %=
is used to change a batch of wings inside a ++wing
all at once, ensuring that the product is type checked.
See also
%_
Produces
Twig: [%cnts p=wing q=tram]
Sample
Tall form
%= p
p.i.q q.i.q
p.i.t.q q.i.t.q
==
Wide form
%=(p p.i.q q.i.q, p.i.t.q q.i.t.q)
Irregular form
p(p.i.q q.i.q, p.i.t.q q.i.t.q)
Examples
/~zod/try=> =+ a=[p=5 q=6]
a(p 2)
[p=2 q=6]
In this example we are using the irregular form of %=
to replace p
in a
.
/~zod/try=> =+ a=[p=1 q=2 r=3 s=4]
a(p 5, q 6, r 7, s 8)
[p=5 q=6 r=7 s=8]
Here we show how you can replace multiple faces at once. We start with a
new a
and replace all of its values with the irregular form of %=
.
/~zod/try=> =+ step=0
=+ leng=10
=+ valu=0
|-
?: =(step leng)
valu
$(valu (mul 2 valu), step +(step))
1.024
In this case we create a simple loop, using |-
. To recurse, we use
%=
with $
, the empty name — our |-
— replacing our valu
with
(mul 2 valu)
and step
with +(step)
.