#analog #geometry #3d #2d #2d-3d

analit

使用analog几何字面量为您的Rust项目添加另一个维度

2个不稳定版本

使用旧的Rust 2015

0.1.0 2015年4月29日
0.0.1 2015年4月12日

#1614 in 数学

每月35次下载

MIT 许可证

7KB
102

Analit:Rust的模拟字面量

尽管Rust在改进系统语言现状方面取得了巨大的进步,但仍有一个功能严重缺失。不,不是高阶类型、整数泛型,或者名字中包含字母'C'。它是模拟字面量。自从2005年Eelis推出“模拟字面量”以来,作为C++工具作为C++实用工具,使用ASCII艺术绘制几何图形的能力为构成最小可行语言的新标准树立了新的标杆。

示例

模拟字面量遵循简单的语法模式。事物的尖锐角落由'+'字符标记,X轴上的一个单位由'--'表示,而Y和Z轴上的一个单位分别由'|'和'/'表示。使用两个字符来表示X轴上的一个单位是为了补偿字符渲染的矩形形状。模拟表达式返回一个元组,反映了绘图的大小。但是不要再说废话了——让我们看看一些例子。

一维

沿着X轴长为2的线

assert_eq!(2, analit!(
        +----+
    ));

沿着Y轴长为2的线

assert_eq!(2, analit!(
    +
    |
    |
    +
));

沿着Z轴长为2的线

assert_eq!(2,analit!(
       +
      /
     /
    +
));

二维

二维字面量已被证明对于GUI程序员特别有价值。

跨越X和Y的(2,1)矩形

assert_eq!((2,1),analit!(
    +----+
    |    |
    +----+
));

...跨越X和Z

assert_eq!((2,1),analit!(
      +----+
     /    /
    +----+
));

...跨越Y和Z

assert_eq!((2,1),analit!(
       +
      /|
     / +
    + /
    |/
    +
));

三维

是时候从沙发垫下拿出那副红蓝眼镜了;我们要进入下一个维度了!

assert_eq!((1,1,3),analit!(
        +--+
       /  /|
      /  / +
     /  / /
    +--+ /
    |  |/
    +--+
));

感觉就像是从屏幕里出来的一样!

在您的下一个项目中使用模拟字面量*

只需将以下内容添加到您的 Cargo.toml

[dependencies.analit]
git = "https://github.com/jswrenn/analit"

或者,从注册表中

[dependencies]
analit = "*"

*请不要这样做。

没有运行时依赖