죄송합니다. Ruby가 왜 그렇게 이상하게 인용하고 있습니까? 아니면 이것이 버그일까요?Ruby strange quoting
irb(main):027:0> p eval "\" \+ \\+ \\\+ \\\\+ \\\\\+ \""
는
=> " + + + \\+ \\+ "
또는
irb(main):027:0> puts eval "\" \+ \\+ \\\+ \\\\+ \\\\\+ \""
생성
=> + + + \+ \+
또는 다른 일례를 생성
irb(main):067:0> " \" " =~ Regexp.new(eval("\" \\\" \""))
=> 0
irb(main):068:0> " + " =~ Regexp.new(eval("\" \\\\+ \""))
=> 0
을 실행/평가, 완벽하게 좋은 이것에 대해 예기치 않은? 아니면 대신 무엇을 돌려 주겠습니까? –
문제는 루비의 인용이 아니라는 말입니다. 그것이 어떻게 작동하는지 이해하고 있습니다. 일반적으로 수년 동안 사용 되어온 언어를 다룰 때 상당한 양의 코드가 쓰여졌을 때 핵심적인 부분에 문제가있는 경우 문제는 언어가 아닙니다. . –
@ the Tin Man : "선택이 깨지지 않았 음"이라고도합니다. –