2017-07-13 11 views
-2

this tutorial,我只需要一個end聲明爲ifelsif,並else循環:爲什麼最後3行和5行需要兩個結束語句?

def dasherize_number(num) 
    nums = num.to_s 
    final_string = '' 
    i = 0 

    while i < nums.length 
    if i == 0 
     final_string += nums[i] 
     if nums[i].to_i % 2 == 1 
     final_string += '-' 
     end 
    elsif i == nums.length 
     final_string += nums[i] 
    else 
     if i % 2 == 1 
     final_string += '-' 
     final_string += nums[i] 
    end 
    end 
    i += 1 
end 
puts final_string 
end 

爲什麼我們需要有i += 1之間的兩個end聲明?

+2

你',如果我%2 == 1'塊不正確縮進。 – lurker

回答

2

縮進是重要的:

def dasherize_number(num) 
    nums = num.to_s 
    final_string = '' 
    i = 0 

    while i < nums.length 
    if i == 0 
     final_string += nums[i] 
     if nums[i].to_i % 2 == 1 
     final_string += '-' 
     end 
    elsif i == nums.length 
     final_string += nums[i] 
    else 
     if i % 2 == 1 
     final_string += '-' 
     final_string += nums[i] 
     end 
    end 
    i += 1 
    end 
    puts final_string 
end 
相關問題