如何与 printf 正确对齐

How to make proper alignment with printf

我正在尝试使输出看起来像这样:

我正在使用这个语句:

FILE_TYPES.each_key {|key| printf "%20s %s\n", "--[no]" + key.to_s, FILE_TYPES[key.to_sym]}

它的结果是这样的:

使用 \t 为格式化字符串提供制表符空间。例如

printf "Name:\t Shahzad\nGender:\tMale\nAge:\t25\n"

它将打印结果为

Name:    Shahzad
Gender: Male
Age:    25
=> nil 

如果不坚持使用printf,

puts "--[no]" + key.to_s.ljust(20) + FILE_TYPES[key.to_sym]