【Rust日报】2022-01-18 Paudle: 使用Yew编写的类似Wordle的猜字谜游戏

2022年1月19日 221点热度 0人点赞 0条评论

Paudle: 使用Yew编写的类似Wordle的猜字谜游戏

Paudle: A Wordle-like in Rust using Yew
Paudle是对Josh Wardle的优秀文字游戏Wordle的重新实现。这个版本是用YewRust制作的。作者仿照了Wordle的颜色和布局(当然还有游戏逻辑),但实现都是原创的。与最初的版本不同,这一版本完全是基于客户端的,因此没有什么可以阻止你作弊——如果你能找出如何从运行的WASM中提取当前单词的话。
运行步骤:
# 安装wasm target
rustup target add wasm32-unknown-unknown
# 安装trunk
cargo install trunk
# 拉取paudle代码仓库
git clone https://github.com/pmsanford/paudle && cd paudle
# 运行
trunk serve
# 然后在浏览器打开 http://localhost:8080/ 即可
图片
关于Wordle
Wordle 和填字游戏都属于字谜游戏的一种。
这个游戏每天更新一期,玩家唯一目标,就是在六次尝试机会之内,猜出一个五个字母的单词。为此,游戏界面是一个 5×6 的方块阵列。玩家通过下方键盘输入猜测结果后,游戏会给字母方块标上颜色,提示猜测的准确性:
绿色 ?:说明答案里有这个字母、所在位置也正确;
黄色 ?:说明答案里有这个字母、但不在这个位置;
灰色 ⬜️:说明答案里没有这个字母。
然后,玩家根据获得的提示继续尝试,直到猜对答案,或者用尽六次机会。
参考:
  • wordle: https://www.powerlanguage.co.uk/wordle/

Rust For Linux内核补丁使用升级的Rust工具链进行修订,构建改进

Rust For Linux Kernel Patches Revised With Upgraded Rust Toolchain, Build Improvements
Miguel Ojeda已经发布了他的第三次补丁迭代,这些补丁实现了支持Linux内核中Rust编程语言的基本基础设施。早在12月份就有了v2补丁,而现在刚刚过了一个月,3版补丁就可以进行测试了。
随着Rust编译器版本已经确定,更新后的Rust for Linux内核代码现在迁移到了Rust 1.58版本。此次补丁新增特性包括自动检测是否有合适的Rust工具链可用、其他构建系统改进、改进的文档以及其他通用代码清理和改进。
Miguel指出,在Rust方面也有一些改进,“我们需要的一个不稳定的特性,-Zsymbol-mangling-version=v0将在Rust 1.59.0中得到稳定。另一个特性,maybe_uninit_extra 可能会在Rust 1.60.0中得到改进。”
Linux内核的Rust基础设施以及一些基本的示例代码目前使这个v3修补程序系列有33.5k行新代码。
请参阅内核邮件列表上的v3补丁以供查看。
希望今年Rust能够进入Linux内核的主线!

将Ruby 的 JIT 编译器YJIT迁移到Rust

Porting ruby YJIT to Rust
YJIT 是用于 Ruby 的 JIT 编译器,它采用了惰性基础块版本管理 (lazy Basic Block Versioning, LBBV) 架构。与当前的 CRuby 解释器相比,在进行实际基准测试时,YJIT 的平均速度大约提升了 23%。
现在YJIT团队希望探索使用Rust来帮助开发YJIT。而CRuby的其余部分将继续使用非Rust的工具链进行构建,而且构建Ruby应用时仍然支持YJIT开关。
价值主张:
  • Rust的类型系统将尽早捕获更多的bug,有助于防止新的bug;
  • 更易于管理日益复杂的YJIT
  • 更容易维护代码库;
  • 对于新手来说更容易,因为编译器捕获了更多的bug;
  • 更好的性能,因为我们可以实现更复杂的优化;
  • 更容易添加对新平台的支持(这增加了复杂性);
  • Rust拥有成熟且易于安装的工具,如源代码格式化程序和编辑器插件;
  • Rust作为一个编程语言社区,其背后有着巨大的热情。这可以转化为对YJIT和Ruby的更大热情。
集成:
  • YJIT将只依赖于Rust语言和标准库,而不依赖于其他依赖项;
  • YJIT将能够在没有互联网连接的情况下进行构建;
  • Rust对交叉编译有很好的支持;
  • Rust在我们计划使用YJIT支持的所有平台(Mac、Linux、Windows)上都受支持;
  • 已编译的CRuby二进制文件不会对共享库有任何新的依赖项;
  • 在禁用YJIT的情况下,CRuby仍然可以在没有rustc的情况下进行构建
完整的意见说明参阅:Porting YJIT to Rust (request for feedback)

lipstack: 面向C语言的类Rust语法前端

lipstick: a Rust-like syntax frontend for C
lipstack将Rust的语法汇编成C。尽管它没有借用检查器或生命周期管理,但它并不是一个“Rust语法子集”。它只是C语言的一个Rust的语法前端。
可以在Playground来实战体验它是怎样运作的。
参考:
  • Github:https://github.com/jrvidal/lipstick
  • Playground: https://jrvidal.github.io/lipstick/

一个新的Relm 4:宣布Relm4 v0.4!

A new Relm 4 you: announcing Relm4 v0.4!

From 日报小组 odd-cat

社区学习交流平台订阅:
Rust.cc 论坛: 支持 rss
微信公众号:Rust 语言中文社区

41740【Rust日报】2022-01-18 Paudle: 使用Yew编写的类似Wordle的猜字谜游戏

这个人很懒,什么都没留下

文章评论