-1

fixnum の String chars メソッドに相当するものはありますか? 整数値を値ごとに配列に分割しようとしています (例: 1234 -> [1, 2, 3, 4])。その後、個々の値に対して操作を実行します。

それとも、最初に文字列に変換し、演算 (例 x 2) を実行してから、整数として結合する方がよいでしょうか? 以下のように:

    def method_name num
      num.to_s.chars.map{|x| x.to_i*2}.join.to_i
    end
4

1 に答える 1

0

数字を個々の数字に分割することは一般にナンセンスなことなので、数字を個々の数字に分割するものは何もありません。数学的な方法で行うこともできますが、要件を考えると(これまでのところ)そうすることに明確な利点はありません。

変換と乗算を分割することを好むかもしれません。たとえば、

n.to_s.chars.map(&:to_i).map { |n| n * 2 }.join.to_i

それはもう少し汎用性があり、たとえば、乗数が変更された場合、簡単に変更できます (ここには示されていませんが、方法はあります)。

于 2016-12-15T15:20:05.470 に答える