use Math::Matrix ;
my $key-width = 0;
my $value-width = 0;
my $comment-width = 0;
my $padding = 5;
my @sep = ('=', '//') ;
my @lengths;
# sub MAIN() {
# }
# 找到每一列的最大长度
for $=finish.lines -> $line {
my @items = $line.split(/ @sep /);
my @l;
for @items -> $item {
@l.append($item.trim.chars);
}
@lengths.push(@l);
}
my $m = Math::Matrix.new( [@lengths] );
my @maximal-width;
my @b = $m.transposed.list-rows;
@maximal-width.append(.max) for @b;
@maximal-width »+=» $padding;
my @f = @maximal-width».&sformat;
my $cformat = j(@f, @sep);
for $=finish.lines -> $l {
my @items = $l.split(/@sep/);
say sprintf("{$cformat}", @items);
}
sub sformat($l) {
return '%-' ~ $l ~ 's'
}
# 如果不使用 is copy , 会修改 @sep 的值, 影响结果, 坑!
sub j(@columns, @separators is copy) {
return (@columns »~» (@separators.append(""))).join("");
}
=finish
val GAS = "gas" //天然气
val HYDROGEN = "hydrogen" //氢气
val GASOLINE = "gasoline" //汽油
val LOWEST_VOLTAGE_CELL_MONOMER = "lowest_voltage_cell_monomer" //电池单体电压最低值
代码格式化
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 2017年1月26日一.Sublime Text如何实现html文件代码格式化1.效果:未格式化前效果 格式化后效...
- 打开eclipse 选择 window-->Preferences-->JAVA-->Code-->Code St...