2016-07-25 2 views
1

Я хочу разделить два целых числа и затем преобразовать их результат в строку. Я сделал это, поставив раздел в круглые скобки, чтобы преобразовать результат деления в строку, а не только знаменатель. Кажется, ошибок нет, но я хотел бы проверить, что это правильный синтаксис.Можно ли использовать скобки для инкапсуляции информации, которую я хочу преобразовать в строку? (ruby)

Примечание: @numer и @denom являются целыми числами.

def redfrac 
    gcd = @numer.gcd(@denom) 

    if @denom != 0 
    rednumer = (@numer/gcd).to_s 
    reddenom = (@denom/gcd).to_s 

    if reddenom == "1" 
     puts rednumer 
    else 
     puts rednumer + "/" + reddenom 
    end 
    else 
    puts "Cannot divide by 0" 
    end 
end 

ответ

0

Этот синтаксис вполне легален.

Но для точной задачи вы можете использовать интерполяцию строки:

def redfrac 
    gcd = @numer.gcd(@denom) 

    if @denom != 0 
    rednumer = @numer/gcd 
    reddenom = @denom/gcd 

    if reddenom == 1 
     puts "#{rednumer}" 
    else 
     puts "#{rednumer}/#{reddenom}" 
    end 
    else 
    puts "Cannot divide by 0" 
    end 
end