diff options
author | Li Jin <dragon-fly@qq.com> | 2021-02-06 10:41:30 +0800 |
---|---|---|
committer | Li Jin <dragon-fly@qq.com> | 2021-02-06 10:41:30 +0800 |
commit | 32651cccb380bf4682fa8f6d3e70d74952171f7b (patch) | |
tree | 498a5d77886a0ff56b54eabed1177759bac9eba9 /spec/inputs | |
parent | 90bdaec058948f00d11ccfe955ce252ace045929 (diff) | |
download | yuescript-32651cccb380bf4682fa8f6d3e70d74952171f7b.tar.gz yuescript-32651cccb380bf4682fa8f6d3e70d74952171f7b.tar.bz2 yuescript-32651cccb380bf4682fa8f6d3e70d74952171f7b.zip |
fix #38
Diffstat (limited to 'spec/inputs')
-rw-r--r-- | spec/inputs/macro.mp | 42 |
1 files changed, 33 insertions, 9 deletions
diff --git a/spec/inputs/macro.mp b/spec/inputs/macro.mp index be88a3f..da696bd 100644 --- a/spec/inputs/macro.mp +++ b/spec/inputs/macro.mp | |||
@@ -154,16 +154,38 @@ $insertComment "a comment here" | |||
154 | 154 | ||
155 | import 'underscore' as _ | 155 | import 'underscore' as _ |
156 | 156 | ||
157 | macro expr chain = (...)-> $showMacro "chain",table.concat {...}, "\\" | 157 | macro expr chain = (...)-> |
158 | callable = nil | ||
159 | for item in *{...} | ||
160 | callable = callable? and "(#{callable})\\#{item}" or item | ||
161 | $showMacro "chain", callable | ||
158 | 162 | ||
159 | a = $chain( | 163 | a = $chain( |
160 | _({1, 2, 3, 4, -2, 3}) | 164 | _{1, 2, 3, 4, -2, 3} |
161 | chain! | 165 | chain! |
162 | map(=> @ * 2) | 166 | map => @ * 2 |
163 | filter(=> @ > 3) | 167 | filter => @ > 3 |
164 | value! | 168 | value! |
165 | ) | 169 | ) |
166 | 170 | ||
171 | $chain( | ||
172 | _{1, 2, 3, 4, -2, 3} | ||
173 | chain! | ||
174 | map => @ * 2 | ||
175 | filter => @ > 3 | ||
176 | each => print @ | ||
177 | ) | ||
178 | |||
179 | result = $chain( | ||
180 | origin.transform.root.gameObject\Parents! | ||
181 | Descendants! | ||
182 | SelectEnable! | ||
183 | SelectVisible! | ||
184 | TagEqual "fx" | ||
185 | Where (x) -> x.name\EndsWith "(Clone)" | ||
186 | Destroy! | ||
187 | ) | ||
188 | |||
167 | macro block chainB = (...)-> | 189 | macro block chainB = (...)-> |
168 | switch select "#", ... | 190 | switch select "#", ... |
169 | when 0 then return "" | 191 | when 0 then return "" |
@@ -185,11 +207,13 @@ macro block chainB = (...)-> | |||
185 | $showMacro "chainB", res | 207 | $showMacro "chainB", res |
186 | 208 | ||
187 | $chainB( | 209 | $chainB( |
188 | _{1, 2, 3, 4, -2, 3} | 210 | origin.transform.root.gameObject\Parents! |
189 | chain! | 211 | Descendants! |
190 | map => @ * 2 | 212 | SelectEnable! |
191 | filter => @ > 3 | 213 | SelectVisible! |
192 | each => print @ | 214 | TagEqual "fx" |
215 | Where (x) -> x.name\EndsWith "(Clone)" | ||
216 | Destroy! | ||
193 | ) | 217 | ) |
194 | 218 | ||
195 | macro block implicitReturnblockMacroIsAllowed = -> "123" | 219 | macro block implicitReturnblockMacroIsAllowed = -> "123" |