如何快速产生这种注释?

# ┌───────────── minute (0 - 59)
# │ ┌───────────── hour (0 - 23)
# │ │ ┌───────────── day of month (1 - 31)
# │ │ │ ┌───────────── month (1 - 12)
# │ │ │ │ ┌───────────── day of week (0 - 6) (Sunday to Saturday;
# │ │ │ │ │                                       7 is also Sunday on some systems)
# │ │ │ │ │
# │ │ │ │ │
# * * * * *  command to execute

上面的这种注释如何快速产生?

阅读 1.8k
1 个回答

如果偶尔编写这样的注释,可以复制、粘贴来实现。
如果需要经常编写这样的注释,可以通过程序来实现。
下面说一下编程实现的思路,首先定义一下概念,将整个信息分为两部分:

  • 最下面一行的是被注释的命令
  • 除了最下面一行,上面的所有内容都是注释文字,包括水平的横线加注释文字,以及竖线的留白

下面是整个注释信息的结构分析:

  • 根据被注释的 * 的数量计算上面注释文字的行数,再加上注释文字。
  • 注释文字的结构是:竖线{n-1} + 空格{m} + 折线{1} + 横线{10} + 注释文字。
  • {} 中的数字表示前面字符的数量。
  • 竖线{n-1},说明竖线的个数是当前行数 n - 1,最少为零个。
  • 空格{m},说明竖线后面空格的个数固定为 m,用来间隔竖线,具体空格数量,参考被注释命令中 * 号之间的空格数量。
  • 折线{1},折线就是90度弯头,每行只有一个。
  • 横线{10},不多说了,折线后面的横线数量固定,10 个还是 12 个自己定义就好了。
  • 横线后面是注释文字,这就没啥好说的了。
  • 注释文字的行数是下面被注释文字中 * 的个数。
  • 注释文字下面就是留白,留白的结构是:竖线{k} + 空格{m}
  • 竖线{k},说明竖线的个数是固定的 k 个,k 就是下面被注释 * 的个数
  • 空格{m},跟上面一样。

有了上面这个结构分析,估计写程序应该不成问题了。其实,写程序或者说写算法,就是把要生成的信息分析清楚,找出规律,当自己能够对被研究的事物有个清晰和准确的认识之后,自然就能写出程序来的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进