我工作的紅寶石過程中的一些作業中的問題,我已經遇到一些麻煩我的答案。基本上,我需要建立一個程序,能夠滿足這些條件:紅寶石:PROC扭轉一個字符串
describe "reverser" do
it "reverses the string returned by the default block" do
result = reverser do
"hello"
end
result.should == "olleh"
end
it "reverses each word in the string returned by the default block" do
result = reverser do
"hello dolly"
end
result.should == "olleh yllod"
end
end
我疑惑起來一些代碼,我覺得應該滿足以下條件:當我運行耙
reverser = Proc.new do |string|
words = string.split(/\b/)
answer = ''
i = 0
while i < words.count
answer = answer + words[i].reverse
i += 1
end
answer
end
def reverser
yield
end
然而,我的錯誤告訴我沒有達到第一個條件。
expected: "olleh"
got: "hello"
有什麼我失蹤了嗎?我只是沒有正確理解procs?
這個問題已經被問以某種形式已經被一個名爲成員皮特和回答得很好另一個用戶名爲mind.blank。這是源:
Beginner RSpec: Need help writing Ruby code to pass RSpec tests (Silly Blocks exercise)。
mind.blank的代碼非常簡單,並且工作正常,但我不只是要它不理解爲什麼我的不行復制。預先感謝您的幫助。
DUR字符串。你是對的。 – prater
感謝您的提示。這是來自其他線程的人發佈的答案。我只是不想在不知道原因的情況下竊取他的代碼。但我現在更瞭解它。 – zethsaber