J语言打印格式化质数时的对齐问题

问题描述 投票:0回答:1

我是 J-Lang 的一名相对较新的程序员,最近发现了它在 Code Golfing 中的功效,它在得分方面表现出色。我目前正在解决一个编码问题,涉及打印 100 以下的所有素数。虽然我已经成功实现了此任务的代码,但在根据需要格式化输出时遇到了困难。

我参考了文档来更好地理解该语言,但我发现有几个概念很难掌握。我的主要关注点是解决给定的问题,而不是让自己深深沉浸在语言的复杂性中。

我目前编写的代码如下所示:

echo p:i.25 1

我期望输出类似于以下内容:

2
3
5
7
11
13
...

然而,实际输出是:

 2
 3
 5
 7
11
13

我尝试通过尝试不同的主要模式来解决对齐问题:

echo [X] p:i.25 1

以及尝试字符串格式:

echo ":p:i.25 1

不幸的是,这些解决方案都没有解决我的问题,我正在寻求帮助以实现所需的左对齐输出。任何指导或建议将不胜感激。

alignment primes code-formatting j
1个回答
0
投票

您可以使用Foreign 8格式化项目。

使用

p:i.25 1
,您可以生成一个 2 阶数组(二维数组,也称为表或矩阵),因此您需要
8!:1
来格式化列。省略格式短语会自动将“最小宽度”应用于数字的表示。格式已装箱,因此请使用
>
打开(又称取消装箱)它:

echo > 8!:1 p:i.25 1

如果您选择在 2 阶数组中生成数字,以使它们“垂直对齐”(行上有单列项目),请知道这对于获得您想要的结果不是必需的。只需通过省略第二维(只需写

p:i.25
)来生成单个原子列表(等级 1 的数组或标量数组),然后相应地使用
8!:0
来格式化原子:

echo > 8!:0 p:i.25

输出:

2 
3 
5 
7 
11
13
...
© www.soinside.com 2019 - 2024. All rights reserved.