def in_progress_students(subject)
case subject
when "1,2,3 Roll!"
started = students_by_completed(:worldOne, "1")[true] || []
finished = completed_students(subject) || []
when "If Fuzz, Then Roll"
started = students_by_completed(:worldOne, "4")[true] || []
finished = completed_students(subject) || []
when "Loopy Lesson"
started = students_by_completed(:worldOne, "19")[true] || []
finished = completed_students(subject) || []
when "Test Your Skillz"
started = students_by_completed(:worldOne, "31")[true] || []
finished = completed_students(subject) || []
when "Functions101"
started = students_by_completed(:worldTwo, "1")[true] || []
finished = completed_students(subject) || []
when "FunctionPro"
started = students_by_completed(:worldTwo, "4")[true] || []
finished = completed_students(subject) || []
when "FunctionsPlus"
started = students_by_completed(:worldTwo, "15")[true] || []
finished = completed_students(subject) || []
when "BuggyBasics"
started = students_by_completed(:worldThree, "1")[true] || []
finished = completed_students(subject) || []
when "LoopyBugs"
started = students_by_completed(:worldThree, "8")[true] || []
finished = completed_students(subject) || []
when "FunkyBugs"
started = students_by_completed(:worldThree, "3")[true] || []
finished = completed_students(subject) || []
when "Infestation"
started = students_by_completed(:worldThree, "11")[true] || []
finished = completed_students(subject) || []
end
started.select{|student| !finished.include? student}
end
我试图通过这样做来重构此代码库:
IN_PROGRESS_LEVELS = {
"1,2,3 Roll!" => [:worldOne, "1"],
"If Fuzz, Then Roll" => [:worldOne, "4"],
"Loopy Lesson" =>[:worldOne, "19"],
"Test your Skillz" => [:worldOne, "31"],
"Functions101" => [:worldTwo, "1"],
"FunctionPro" => [:worldTwo, "4"],
"FunctionsPlus" => [:worldTwo, "15"],
"BuggyBasics" => [:worldThree, "1"],
"LoopyBugs" => [:worldThree,"8"],
"FunkyBugs" => [:worldThree,"3"],
"Infestation" => [:worldThree, "11"]
}
def in_progress_students(subject)
world, level = IN_PROGRESS_LEVELS[subject]
started = students_by_completed(world, level)[true] || []
finished = completed_students(subject) || []
started.select{|student| !finished.include? student}
end
但我收到错误,我认为是因为我得到了不同的输出状态。我究竟做错了什么?
还有怎样才能通过使用raise错误修复它?
谢谢