2011-07-24 3 views
0

値とmaxvalueが与えられた単純なテキストバーチャートを作成するメソッドを記述する必要があります。従ってbarchart(4, 10)"XXXX------"を返します。3と10を渡すと、 "XXX -------"などのテキストバーグラフを作成するための賢明なルビー文字列メソッドがありますか?

明らかにそれをコード化するのは簡単ですが、私はルビー文字列メソッドについてもっと学びたいと思っています。

私が思い付くことができ巣をされた:あなたがしたい場合、例えば、4月10日(すなわち"XXXX------"の出力)、

graph = "".ljust(4, 'X').ljust(10, '-') 

しかし、それは間抜けなようで、私はもっと直接的な方法があります疑います?これは「あまり間抜け」で未定であるか否かは、

passed = 4 
d = 'X' * passed + '-' * (10 - passed) 

答えて

3

はここstring multiplicationを使用して、別の方法です。

+0

私は "XXXX"を作成するために "X" * 4について知りませんでした。 – jpwynn

2

文字列の乗算と加算だけで十分です。


d = "X" * 4 + "-" * 10 
+0

これは多くの " - "に(通常は)追加されます。 –

+0

説明してください。乗算器で指定された以上に、なぜそれを追加しますか? – daniel

+0

ああ、今私はそれを得る...私はその部分を誤解した、彼は最大10文字を望んでいる。だから、それはまだ同じ考え、ちょうど差し引く... – daniel

関連する問題