作者:日落月出星不离_887 | 来源:互联网 | 2023-09-12 14:05
Iknowthat,generally,ifandchoosestatementsshouldbeavoidedindeferencetopatternmatching
I know that, generally, if and choose statements should be avoided in deference to pattern matching however I find myself in situation where I must use one or the other (this is caused by my need for sorting).
我知道,一般来说,如果和选择语句应该避免模式匹配,但我发现自己处于必须使用其中一种情况的情况(这是由于我需要排序)。
At any rate I can either use two
statements or an
statement that has a blank
. I want to know which, if either, is more efficient.
无论如何,我可以使用两个
语句或一个空白
的
语句。我想知道哪一个更有效率。
Here is some dummy code:
这是一些虚拟代码:
XML
XSLT 1
less than two
equals 3
XSLT 2
less than two
equals 3
Thanks for your help!
谢谢你的帮助!
4 个解决方案
3
In this instance it wouldn't actually make much difference. Your second 'when' test is only being executed one less time than your first.
在这种情况下,实际上并没有太大的区别。你的第二次“何时”测试只比你的第一次执行时间短。
That said, I would use the choose/when/otherwise solution if you are never expecting nor wanting both of these conditions to be true. It wouldn't seem logical to test both conditions knowing only one will be true, but depending on the factors being tested this will be inevitable.
也就是说,如果您从未期望也不希望这两个条件都成立,我会使用choose / when / otherwise解决方案。知道只有一个条件是真的,测试这两个条件似乎不合逻辑,但根据被测试的因素,这将是不可避免的。
Of course the benefit of the 'choose' is that you can easily set a fallback option, but you are not taking advantage of this. Not that it will make much difference but this 'otherwise' line will be executed whenever the two conditions return false even though it contains nothing.
当然,“选择”的好处是您可以轻松设置后备选项,但您没有利用这一点。并不是说它会有很大的不同,但只要两个条件返回false就会执行这个“其他”行,即使它什么都不包含。
If you were doing this conditional statement in another language like Javascript you probably wouldn't think twice about using if/else if/else solution - again, because you only want one condition to ever be true.
如果您使用其他语言(如Javascript)执行此条件语句,您可能不会再考虑使用if / else if / else解决方案 - 再次,因为您只希望一个条件永远为真。
I'm afraid the use of 'choose' over 'if' is conditional, it all depends on the data you are processing and what you are testing.
我担心使用'select'而不是'if'是有条件的,这完全取决于你正在处理的数据和你正在测试的内容。
This might be useful to an extent, another dev's view: http://xsltbyexample.blogspot.com/2008/02/when-to-use-xslif-and-xslwhen.html
这可能在某种程度上是有用的,另一个开发者的观点:http://xsltbyexample.blogspot.com/2008/02/when-to-use-xslif-and-xslwhen.html