TL; DR 내년에 부트 캠프에 갈 예정이며 평가는 루비를 배우는 중입니다. 나는 JS에 배경이 있고 루비에 대해 아주 새로운 사람이다. 나는이 평가를 받았는데 나는 그 시험이 내가 무엇을하기를 바라는 지 잘 모른다. 아래는 테스트 케이스 (Rspec)이며 그 바로 아래가 내 답변입니다.정확하게 묻는 Rspec 구문은 무엇입니까?
describe "some silly block functions" do
describe "reverser" do
it "reverses the string returned by the default block" do
result = reverser do
"hello"
end
expect(result).to eq("olleh")
end
it "reverses each word in the string returned by the default block" do
result = reverser do
"hello dolly"
end
expect(result).to eq("olleh yllod")
end
end
이 내 대답 코드입니다 : 내가 언급 한 바와 같이 나는 루비에 새로운 오전과 항복의 아이디어가 JS에 대한 콜백 함수처럼 위
def reverser sentence
words = sentence.split(" ")
result = []
words.length.times do |i|
result.push(yield(words[i]))
end
result.join(" ")
end
reverser("hello dolly") {|n| n.reverse} #=> 'olleh yllod'
. 테스트 케이스에서 내가 쓰고 싶어하는 코드가 무엇인지 알기가 힘듭니다. '기본 블록에서 반환 된 문자열에서 각 단어를 뒤집습니다'라는 말은 방금 단어가 반전되는 함수 외부에서 블록을 작성한 것입니다. 누구에게 조언을 줄 수 있는지에 대한 도움과 안내에 감사드립니다.
그게 정말 흥미로운 해결책입니다! 테스트 케이스의 입력 인'result = reserver { "hello dolly"} "에 대해서는 전혀 생각해 보지 못했습니다. 철저한 설명 주셔서 감사합니다! – Ken