mirror of
https://github.com/ilyakooo0/urbit.git
synced 2024-12-20 13:22:07 +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
2.0 KiB
2.0 KiB
semcen, ;%
++sail
list
;%
is a virtual rune used within ++sail
for passing a list of
child nodes to a gate. ;%
is used for transforming a list of child
elements inside a ++manx
.
See also
The %e
case inside of ++tuna
.
Produces
Twig: ++marl
Sample
p
is a twig.
Tall form
;% p
Wide form
%{p}
(within quoted form)
Irregular form
None
Examples
~zod/try=>
;div:"%{|=(a=marl (weld a a))} repeat"
[ [%div ~]
~[
[g=[n=%$ a=~[[n=%$ v=" repeat"]]] c=~]
[g=[n=%$ a=~[[n=%$ v=" repeat"]]] c=~]
]
]
~zod/try=>
(poxo ;div:"%{|=(a=marl (weld a a))} repeat")
"<div> repeat repeat</div>"
In this simple example we use a gate, |=(a=marl (weld a a))
that
produces a ++marl
twice. Using the irregular form of ;%
we produce a
repeated child node 'repeat'
. ++poxo
prints our result in XML.
~zod/try=>
;=
;% |=(a=marl (turn a |=(b=manx ;script(src (poxo b));)))
; /gep/hart.js
; /main/lib/urb.js
; //cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.js
==
~[
[[%script [%src "/gep/hart.js
"] ~] ~]
[[%script [%src "/main/lib/urb.js
"] ~] ~]
[ [ %script
[%src "//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.js
"]
~
]
~
]
]
~zod/try=>
%- many:poxo :_ ~
;=
;% |=(a=marl (turn a |=(b=manx ;script(src (poxo b));)))
; /gep/hart.js
; /main/lib/urb.js
; //cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.js
==
"<script src="/gep/hart.js"></script><script src="/main/lib/urb.js"></script><script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.js"></script>"
Here we go through a similar example, passing a list of urls for a
script tag to a gate that produces a <script>
tag. Since we produce
multiple tags, we use many:poxo
to print our result as XML.