[Ruby] Что означает этот варнинг

Alexander Bokovoy a.bokovoy at sam-solutions.net
Tue Aug 5 18:30:14 MSD 2003


On Tue, Aug 05, 2003 at 06:24:24PM +0400, SoNaR wrote:
> Hello Alexander,
> 
> Tuesday, August 5, 2003, 6:14:36 PM, you wrote:
> 
> AB> On Tue, Aug 05, 2003 at 06:11:13PM +0400, SoNaR wrote:
> >> Hello Ruby,
> >> 
> >>   warning: string pattern instead of regexp; metacharacters no longer effective
> >>   То появляется, то исчезает. С чем он обычно связан?
> >>   Ругается на строку вида str.split("\n\n")
> AB> 1.8.0:doc/NEWS:
> 
> AB> : String#split
> 
> AB>   if "sep" argument is a string, regular expression meta characters
> AB>   are escaped internally.
> 
> И с чем это связано? И желательно по русски, т.к. смысла я все равно
> не уловил.
Вот пример:

irb(main):001:0> a="1/2/3/4/5"
"1/2/3/4/5"
irb(main):002:0> a.split("/")
["1", "2", "3", "4", "5"]
irb(main):003:0> a.split(/\//)
["1", "2", "3", "4", "5"]

То есть, в случае, когда на месте ожидаемого регулярного выражения
находится строка, то в этой строке не надо экранировать метасимволы,
которые приходится экранировать в регулярном выражении.
-- 
/ Alexander Bokovoy
---
You display the wonderful traits of charm and courtesy.



More information about the Ruby mailing list