在?PATTERN?
,perlop
的討論中指出「此用法含糊不清」。這是否意味着??
匹配運算符本身將從perl中刪除,還是意味着它的語義會改變?是使用??
一個壞主意,還是可以忽略perlop中的警告?「模糊不清」是什麼意思?PATTERN是什麼意思?
回答
我會假設這意味着或多或少它說:
這種用法模糊地廢棄了,這意味着它只是有可能會在Perl的一些遙遠的未來版本中刪除,也許某處大約一年2168 。
因此,這意味着,當他們發佈的Perl 6
我的孩子,我的孩子,他們會將其刪除。我認爲「含糊不清」意味着它不是一個可怕的結構,但你可能想重新考慮你的設計。我個人甚至不知道它是什麼(或者reset()
函數甚至存在),直到我剛纔查看它並看到它,我不知道我是否會用它來做任何事情。他們在perlop中給出的例子是一個有點神祕:
while (<>) {
if (?^$?) {
...
}
} continue {
reset if eof;
}
我會寫的等效越來越明顯:
my $reset = 1;
while (<>) {
if ($reset and /^$/) {
...
$reset = 0;
}
} continue {
$reset = 1 if eof;
}
這是更詳細的,但它是對大腦有一點更明顯,更容易(和維護者)。
你沒讀過句子的其餘部分嗎?這似乎很清楚:
這種用法模糊地廢棄了,這意味着也許會 可能將在Perl, 的一些遙遠的未來版本中刪除圍繞今年2168
也許某處對我來說,Perl說維護者不喜歡特殊情況的行爲,寧願人們不使用它,但不打算改變它。
使用安全。它將不得不經過一個真正的棄用週期(可能持續一段時間),然後纔會被刪除。這就是說,我不會使用它。這個特性足夠深奧,很容易讓任何人最終維護你的代碼(這可能是你的未來)混淆。
「它可能被刪除」是不明確的。 「它」是指操作員本身,還是「這種用法」。句子的構建意味着'它'指的是'這種用法',表明運營商將保持不同的語義。 – 2009-09-12 17:03:14
'?PATTERN?'是'm //'運算符的特例。操作員本身不會離開。使用'?'作爲分隔符時的行爲會改變;想必它不再是特別的。 – 2009-09-12 19:02:42
- 1. 是什麼意思:是什麼意思?
- 2. 「?」是什麼意思?
- 3. $$ $$是什麼意思?
- 4. 什麼是「||」意思?
- 5. 「\\。\」,「\ ?? \」,「\\?\」,「\\」是什麼意思?
- 6. 「=」是什麼意思
- 7. &**是什麼意思?
- 8. 是什麼意思?
- 9. 「_」是什麼意思?
- 10. 什麼是:!:意思?
- 11. || =是什麼意思?
- 12. %%是什麼意思?
- 13. =是什麼意思?
- 14. %{}是什麼意思?
- 15. + =是什麼意思?
- 16. '#'是什麼意思?
- 17. /([^.]*)\.(.*)/是什麼意思?
- 18. %*是什麼意思?
- 19. &@是什麼意思?
- 20. Groovy,什麼意思 - >意思是
- 21. WIN DEATH是什麼意思:android.osDeadObjectException是什麼意思?
- 22. 「?」是什麼意思?調用jsp的標記是什麼意思?
- 23. 什麼是目錄名'。'和'..'是什麼意思,faDirectory是什麼意思?
- 24. 什麼是stringWithFormat:@「%@ - 1」是什麼意思?
- 25. 這是什麼`_time_independent_equals`是什麼意思?
- 26. 是什麼??('')。?。?`是什麼意思?
- 27. 什麼是PPC,這是什麼意思?
- 28. 「構造函數......含糊不清」是什麼意思?
- 29. where子句中的列含糊不清 - 這是什麼意思?
- 30. 同步是什麼意思?
我不會稱之爲'$ reset';我認爲'搜索'或類似的東西會使它更清晰。 – cjm 2009-09-12 19:49:56
@cjm - 我同意,但是'$ reset'是我頭上的第一件事。 – 2009-09-12 19:55:26