前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Rust日报】 2020-06-04 微软对 Rust 的热爱是怎么回事?

【Rust日报】 2020-06-04 微软对 Rust 的热爱是怎么回事?

作者头像
MikeLoveRust
发布2020-06-09 18:10:09
4060
发布2020-06-09 18:10:09
举报
文章被收录于专栏:Rust语言学习交流

微软对 Rust 的热爱是怎么回事?

就在前天【6月2号】,Rust 进入了 TIOBE 指数的前 20 名,它从第 38 位跃升到第 20 位,跃升了惊人的 18 位,这其实是挺罕见的。于是 Visual Studio Magazine 发表了一篇题为 So What's Up with Microsoft's (and Everyone Else's) Love of Rust? 的博文,更多详情请看:https://visualstudiomagazine.com/articles/2020/06/02/rust-love.aspx?m=1

ct_python!

ct_python!是一个 Rust 宏,用于在编译时执行 Python 代码,并将输出作为 Rust 代码插入到 Rust 程序中。它是 inline-python【https://github.com/fusion-engineering/inline-python】的一部分。

代码语言:javascript
复制
#![feature(proc_macro_hygiene)]
use ct_python::ct_python;

static SIN_2: f64 = ct_python! {
    from math import sin
    print(sin(2))
};

ct_python! {
    print("type num = f64;")
}

fn main() {
    assert_eq!(num::sin(2.0), SIN_2);
}

syn-rsx

首先 syn(https://github.com/dtolnay/syn) 是一个解析库,用于将 Rust 令牌流解析为 Rust 源代码的语法树。

syn-rsx 基于 syn,是一个类似于 JSX 的 TokenStreams 解析器。解析的结果是嵌套的 Node 结构,类似于浏览器 DOM,其中节点名称和值是支持构建 proc 宏的 syn 表达式。并提供了用于自定义解析行为的 ParserConfig。

项目地址:https://github.com/stoically/syn-rsx

示例:

代码语言:javascript
复制
use quote::quote;
use syn_rsx::parse2;

let tokens = quote! {
    <div foo={bar}>
        <div>"hello"</div>
        <world />
    </div>
};

let nodes = parse2(tokens, None).unwrap();

let node = &nodes[0];
assert_eq!(node.attributes[0].name_as_string().unwrap(), "foo");

let children = &node.children;
assert_eq!(children.len(), 2);
assert_eq!(children[0].children[0].value_as_string().unwrap(), "hello");
assert_eq!(children[1].name_as_string().unwrap(), "world");

使用 Rocket 进行 Rust web 开发实例

这是油管上的一个较短视频教程,约 20 分钟,结合实际例子,讲述使用 Rocket 框架进行简短、易用、类型安全的 Rust web 开发。地址:https://www.youtube.com/watch?v=tjH0Mye8U_A&feature=youtu.be


From 日报小组 @Jancd

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-06-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Rust语言学习交流 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 微软对 Rust 的热爱是怎么回事?
  • ct_python!
  • syn-rsx
  • 使用 Rocket 进行 Rust web 开发实例
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档