Mám nasledujúci regex
regexp = %r{
((returned|undelivered)smail|mailsdelivery(sfailed)?)
}x
Ale keď na to spustím rubocop, sťažuje sa, že musím „Použiť // okolo regulárneho výrazu“.
Ako sa môžem obísť?
odpovede:
1 pre odpoveď č. 1Rubocop nespúšťam, takže si nie som istý, či to vyrieši váš problém. Ak chcete použiť regulárny výraz% r, môžete použiť // namiesto {}:
regexp = %r/((returned|undelivered)smail|mailsdelivery(sfailed)?)/x
3 pre odpoveď č. 2
Môžete zakázať (a povoliť) ľubovoľný policajný kopu pridaním a .rubocop.yml
súbor do koreňového adresára vášho projektu a nastavenie vhodných konfigurácií. Ak chcete vidieť, čo môžete urobiť, pozrite sa na globálnu stránku default.yml
v balíku rubocop. Je to úplne komentované.
Pre tento konkrétny problém vytvorte a .rubocop.yml
a ...
Úplné zakázanie policajta:
Style/RegexpLiteral:
Enabled: false
na vždy použitie %r
:
Style/RegexpLiteral:
EnforcedStyle: percent_r
1 pre odpoveď č. 3
Môžete použiť multiline regexp s /.../x
buď:
regexp = /
((returned|undelivered)
s
mail|mail
s
delivery
(sfailed)?)
/x
Viac informácií v Rubocop gem doc
-1 pre odpoveď č. 4
keď na ňom spustím rubocop, sťažuje sa, že potrebujem „Použiť // okolo regulárneho výrazu“.
Ako sa môžem obísť?
Myslím si, že správa je celkom jasná: môžete ju obísť //
okolo regulárneho výrazu:
regexp = /((returned|undelivered)smail|mailsdelivery(sfailed)?)/x