2013-08-16 4 views
0

ruby_expect를 사용하여 일부 config 세션을 자동화하려고합니다. 하지만 한 가지 문제가 있습니다. 프롬프트가 console# 인 세션이 있습니다.ruby_expect에서 #을 탈출하는 방법은 무엇입니까?

당신이 볼
expect /console#/ do 
    send "foobar" 
end 

의 기대 헤더에서이 #이, 루비 지금은 주석으로 / do을 취급하고, 실패

그래서 나는이 코드 블록을 가지고있다. Ruby regexps의 문서를 검색 한 결과, #이 비 제어 char 인 것으로 보이고 파서가이를 이해하지 못하기 때문에 이스케이프 처리되지 않을 수도 있습니다.

#이 코드 블록을 주석 표시기로 해석하지 않고 어떻게 작동하는 블록으로 실현할 수 있습니까? 나를 위해

+0

AFAICS가 '#'을 이스케이프 처리하기 때문에 문서에 대한 링크를 추가 할 수 있습니까 :'rx =/foo \ # /; "foo #"일치 (rx)'가 작동합니다 –

+3

이것을 실행 해 보셨습니까? 주석으로 표시하는 구문 강조 표시가 아닌 것이 확실합니까? –

+0

@ m.buettner : 예'rx =/foo # /; "foo #". match (rx)'도 잘 작동합니다. –

답변

1

작품 :

def expect(*patterns, &block) 
    p patterns 
end 

expect /console#/ do 
end 

출력 (1.8.7, 1.9.3, 2.0.0, JRuby를, RBX) : 내 편집자

[/console#/] 

만 정력 구문을 얻는다 오른쪽 강조.

+0

예, 잘못된 구문 강조였습니다. 나의 바보 같은 질문에 대해 유감스럽게 생각합니다. ;) – simonszu

관련 문제