有這樣的事嗎?相當於a <= expr <= b
,或者用SQL的說法expr BETWEEN a AND b
,其中expr
只評估一次?或者只是要求這個getting silly?Perl等效於(Postgre)SQL BETWEEN運算符?
2
A
回答
19
有很多種方法可以做到這在Perl。
if($a < $x and $x < $b){ ... }
... if $a < $x and $x < $b;
use 5.10.1;
if($x ~~ [$a..$b]){ ... }
given($x){
when([$a..$b]){ ... }
}
use 5.11.0; # development branch
given($x){
... when [$a..$b];
}
-1
1
我不認爲他們完全一致,但看看Range Operators。
5
你可以使用Range operator
+ smart macthing
:
if($expr ~~ [$a..$b])
+0
'if($ expr ~~ [a..b]){...}' – 2009-11-06 22:16:08
2
在Perl6,比較運算符是環連接。
http://perlcabal.org/syn/S03.html#Chained_comparisons:
Perl 6的支持自然延伸比較運算符,允許多個操作數:
if 1 < $a < 100 { say "Good, you picked a number *between* 1 and 100." }
if 3 < $roll <= 6 { print "High roll" }
if 1 <= $roll1 == $roll2 <= 6 { print "Doubles!" }
在Perl 5,它們不是。
相關問題
- 1. LINQ等效於SQL BETWEEN
- 2. SQL Server中的運算符BETWEEN
- 3. SQL IN()運算符的SPARQL等效性
- 4. SQL SERVER - 使用BETWEEN運算符有效地連接兩個表
- 5. 標準SQL布爾運算符IS與等於(=)運算符
- 6. 等於(=)MS SQL中的運算符
- 7. 等效於R中的SQL LIKE運算符
- 8. Linq等於運算符
- 9. Python不等於運算符
- 10. javascript等於運算符
- 11. BETWEEN LINQ中的字符串運算符到SQL查詢
- 12. 對於Oracle NUMBER數據類型,LIKE運算符與BETWEEN..AND運算符
- 13. 「數據類型的運算符無效。運算符等於負數,類型等於varchar。」
- 14. 運算符模塊中`in`的等效運算符是什麼?
- 15. SQL Server 2000:數據類型的操作符無效。運算符等於添加,類型等於ntext
- 16. SQL Server 2000:數據類型的操作符無效。運算符等於加,類型等於ntext
- 17. SQL BETWEEN運營商
- 18. 如何在日期列的Hive SQL中執行BETWEEN運算符
- 19. SQL BETWEEN反向順序中的運算符條件值
- 20. 在一條SQL語句中兩次使用BETWEEN運算符
- 21. Perl小於'<'運算符問題
- 22. MongoDB等價於「NOT BETWEEN」
- 23. 替代else運算符和不等於nginx運算符
- 24. 什麼時候「==」運算符不等於「is」運算符? (蟒蛇)
- 25. 等於運算符「==」表現得像賦值運算符「=」
- 26. = IN運算符比IN運算符更高效T-SQL
- 27. CAML「In」運算符等效於SharePoint Services 3(SharePoint 2007)
- 28. 三重等價於C中的有效運算符?
- 29. C#空合併運算符等效於C++
- 30. Objective-C等效於C#中的'as'運算符
這是智能匹配的一個很好的用法,非常易讀! – Ether 2009-11-06 22:37:10
+1我每天都會學到新的東西。 – 2009-11-06 23:03:22
這是否按照你想要的方式工作?我現在只有5.10.0可用,但5.10.1和5.11.x手冊未提及智能匹配範圍運算符的任何更改,而SCALAR ~~ ARRAY語義只有在具有整數時纔會生效。現在,如果這是Perl 6,其中範圍是他們自己的類型... – hobbs 2009-11-06 23:33:29