2016-07-25 24 views
1

Ich möchte zwei Ganzzahlen teilen und dann ihr Ergebnis in eine Zeichenfolge konvertieren. Ich habe dies getan, indem ich die Division in Klammern gesetzt habe, um das Ergebnis der Division in eine Zeichenfolge umzuwandeln, und nicht nur den Nenner. Es scheint auf diese Weise keine Fehler zu geben, aber ich wollte überprüfen, ob dies die richtige Syntax ist.Kann ich Klammern verwenden, um Informationen, die ich in eine Zeichenfolge konvertieren möchte, zu kapseln? (Ruby)

Hinweis: @numer und @denom sind beide Ganzzahlen.

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 

Antwort

0

Diese Syntax ist recht legal.

Aber für diese genaue Aufgabe können Sie String-Interpolation verwenden:

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 
1
> (1.0/4.0).to_s 
=> "0.25"