왜 내 테스트가 실패했는지 알게 된 후에 뭔가를 삽입하지 않을 때 작은 따옴표 만 사용하는 아이디어를 유지하고 싶습니다. 그러나이 경우에는 테스트가 실패합니다. 모든 질문을 이중 따옴표로 변환하지 않고 문자열 '1\n,2,3'
을 피할 수있는 방법이 있습니까?Ruby : 이스케이프 문자열 문자
사양 :
describe '#add' do
before(:each) do
@calc = StringCalculator.new
end
context 'when given a delimiter' do
it 'should support newlines' do
expect(@calc.add('1\n2,3')).to eq(6)
end
end
end
Calc.rb :
class StringCalculator
attr_reader :numbers
def initialize(numbers = '')
@numbers = numbers
end
def add(expression)
@numbers.concat(expression)
@numbers.gsub!(/\n/, ',')
@numbers.empty? ? 0 : result
end
def result
@numbers.split(',').map(&:to_i).reduce(:+)
end
end
특수 문자가 필요한 경우 왜 ar입니까? 처음에 작은 따옴표를 사용합니까? 이것은 큰 따옴표를위한 것입니다. 맞습니까? 당신이 발견했듯이, 단지 보간법을위한 것이 아닙니다. – Ajedi32
나는 이스케이프 된 캐릭터를 원하지 않는다. @ Ajedi32 나는 방금 어떤 방법이있을 것이라고 생각했다. 내가 의미했던 바는 대부분의 루비스트는 값을 보간하지 않을 때 작은 따옴표를 사용하는 것을 선호한다. – theGrayFox
글쎄, [Ruby 스타일 가이드] (https://github.com/bbsosov/ruby-style-guide)에서 이렇게 말합니다 : "문자열 보간이나 \ t','\ n','''등. " 요점은 : 일관성을 위해 필요하지 않을 때는 큰 따옴표로 묶은 문자열을 사용하지 마십시오. – Ajedi32