-1

キー(文字列)の文字数が非常に可変であるマップがあり、それをインテリジェントに印刷したいと思います。

MAP = {
    "key1" => "value1",
    "key2" => "value2",
}

印刷します:

key1 -> value1
key2 -> value2

MAP = {
    "key1" => "value1",
    "key2" => "value2",
    "key3_dam_it_you_are_a_big_one_indeed" => "value3",
}

印刷します:

key1                                 -> value1
key2                                 -> value2
key3_dam_it_you_are_a_big_one_indeed -> value3

彼の考えは、key1 と key2 が key3 のサイズに応じて印刷行を変更するというものです。

ありがとう!

4

1 に答える 1

1

どうですか

class Hash
  def nice_print
    max_key_length = keys.map(&:length).max
    each { |key, value| puts "#{key.ljust(max_key_length)} -> #{value}" }
  end
end

そしてあなたは電話する

MAP.nice_print
于 2013-08-30T02:37:47.210 に答える