我可能在这里是少数,但我非常喜欢Perl的格式.我特别喜欢能够在一列中包裹一段长文本("~~ ^ <<<<<<<<<<<<<<<<"类型的东西).是否有其他具有类似功能的编程语言或实现类似功能的库?我对任何为Ruby实现类似功能的库特别感兴趣,但我也对其他任何选项感到好奇.
我似乎在多年前使用Fortran时会想起类似的东西(但它很可能是第三方库).
至于Perl中的其他选项,请看一下Perl6::Form
.
该form
函数替换format
为Perl6." Perl最佳实践 "中的Damian Conway 建议使用Perl6::Form
Perl5引用以下问题format
....
静态定义
依赖于config&pkg vars的全局变量来处理它们所格式化的数据
使用命名文件句柄(仅限)
不是递归的或可重入的
以下是Perl6::Form
Robert Gamble的Ruby示例的变体....
use Perl6::Form; my ( $month, $day, $year ) = qw'Sep 18 2001'; my ( $num, $numb, $location, $toe_size ); for ( "Market", "Home", "Eating Roast Beef", "Having None", "On the way home" ) { push @$numb, ++$num; push @$location, $_; push @$toe_size, $num * 3.5; } print form ' Piggy Locations for {>>>}{>>}, {<<<<}', $month, $day, $year , "", ' Number: location toe size', ' --------------------------------------', '{]}) {[[[[[[[[[[[[[[[} {].0} ', $numb, $location, $toe_size;
FormatR为Ruby提供类似Perl的格式.
以下是文档中的示例:
require "formatr" include FormatR top_ex = <哪个产生:
Piggy Locations for Sep 18, 2001 Number: location toe size ------------------------------------------- 1) Market 3.50 2) Home 7.00 3) Eating Roast Beef 10.50 4) Having None 14.00 5) On the way home 17.50