我想知道xquery FLWOR表达式是否有像continue和break这样的exit语句?
例如,当达到特定条件时,我想退出For循环。
发布于 2010-06-28 02:17:50
我想知道xquery FLWOR表达式是否有像continue和break这样的
语句?
例如,当达到特定条件时,我想退出For循环。
XQuery是一种函数式语言,这意味着没有严格的执行顺序概念。因此,当某些事情发生时,任何尝试做一些具体的事情,都是没有意义的。
正确的方法是在满足特定条件的情况下执行某些操作。
除了使用函数之外,没有其他方法可以退出FLWOR表达式,但这会终止处理。
人们不应该太担心优化--许多处理器都有很好的优化器。
因此,许多处理器将延迟求值,并在第一次生成满足specific-condition()的结果时停止下面的FLOWR表达式的求值
(someFlowerExpression )[specific-condition(.)][1]发布于 2012-05-12 22:16:33
XQuery Scripting有一条exit语句:
variable $i := 0;
while(true())
{
$i := $i + 1;
if($i = 3) then
exit returning $i
else();
} 或
for $i in (1 to 1000)
return
if($i = 3) then
exit returning $i;
else();您可以在http://www.zorba-xquery.com/html/demo#JvSLsVh3ZjhvTHecVd9jyE1vEBc=上现场试用此示例
发布于 2013-11-20 15:48:14
虽然这个问题很古老,但我回答这个问题是因为一些新人可能会遇到这样的情况,并会得到更好的解决方案。
该解决方案可以在BaseX 7.6上轻松运行
for $i in (1 to 10)
return
if ($i = 3) then
$i
else
exit输出将为-3
或者这将生成输出- 3,
for $i in (1 to 10)
return
if ($i = 3) then
$i
else
()https://stackoverflow.com/questions/3124363
复制相似问题