Skip to content

[Feature] 格式化打印函数 #33

@satori-5423

Description

@satori-5423

确认事项

  • 我已经搜索了现有的issues,确认这不是重复请求
  • 我已经查看了项目的路线图和文档
  • 这个功能与Lamina的设计目标一致(专注于精确数学计算)

功能类型

标准库扩展 (新的内置函数、模块等)

问题描述

当打印一些特殊值的时候,期待它以美观易读的形式打印出来。例如打印一个矩阵时,我们更期待得到一张二维表,而非挤在一行里的数据

建议的解决方案

单独对多维数组的打印进行特化,当打印内容为多维数组时,对其进行格式化处理,例如:

var arr = [
  [1, 2, 3],
  [4, 5, 6],
  [7, 8, 9],
];

print(arr);

期望的输出:

[1 2 3]
[4 5 6]
[7 8 9]

当前的输出:

[[1, 2, 3], [4, 5, 6], [7, 8, 9]]

使用示例


替代方案

有些时候,我们可能并不需要格式化,甚至期望它不要进行格式化(?),那么我们不妨不修改print函数,而是新增一个fmt函数单独对数据进行处理,例如:

var arr = [
  [1, 2, 3],
  [4, 5, 6],
  [7, 8, 9],
];

print(fmt(arr));

期望的输出:

[1 2 3]
[4 5 6]
[7 8 9]

优先级

低 (可有可无的改进)

使用场景

No response

兼容性考虑

  • 需要修改或新增标准库函数
  • 无需修改旧的Lamina代码,不影响兼容性

实现意愿

  • 我愿意提交PR来实现这个功能
  • 我可以协助设计API接口
  • 我可以提供测试用例
  • 我可以帮助编写文档

额外信息

  • Python的类似功能示例

Image

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions