Castor: 微型互联网浏览器 (Gemini, Gopher, Finger)
Castor: A Browser for the small internet (Gemini, Gopher, Finger) https://sr.ht/~julienxx/Castor/
-
openssl -
gtk+3 -
gdk-pixbuf -
pango -
atk -
cairo
-
运行 make就可以编译Castor -
安装: sudo make install -
运行Castorr然后输入 gemini://gemini.circumlunar.space就可以开始在网上冲浪了!~
-
apt install build-essential rustc cargo libgtk-3-dev libgdk-pixbuf2.0-dev libssl-dev -
make & make install
~/.config/castor/settings.toml设置文件,支持用12进制,纯颜色甚至emojis![general]start_url = "gemini://gemini.circumlunar.space/capcom"[colors]h1 = "red"h2 = "#FF6347"h3 = "green"list = "#C71585"text = "#FF1493"background = "#FFC0CB"[characters]h1 = ">"h2 = "))"h3 = "}}}"list = "?"[monospace]gemini=falsegopher=truefinger=true抽象化了的WebAssembly即是平台
WebAssembly as a Platform for Abstraction https://users.rust-lang.org/t/wasm-as-a-platform-for-abstraction/35736 http://adventures.michaelfbryan.com/posts/wasm-as-a-platform-for-abstraction/?utm_source=users-forum&utm_medium=social&utm_campaign=wasm-platform-for-abstraction 最近玩嵌入式WASM,应用系统需要在runtime加载任意语言写成的可执行/二进制代码,在提供沙盒式的运行时环境的同时,
可以让用户提供定制的跟编程环境分离的runtime. 这就是著名的WebAssembly as a Platform for Abstraction.Rust的循环; 从嵌套循环中中断退出
Loops in Rust; Breaking From Nested Loops https://qvault.io/2020/05/14/loops-in-rust-breaking-from-nested-loops/ Rust语言的循环和标准的C语言方式是不一样的。语法不一样,而且有一些强有力的循环选项
是的Rust语言的循环用起来非常简单。首先我们学习一些最基本的循环,然后我们再学习一下
如果在嵌套循环里中断退出和继续执行。标准的For循环: fn main() {for x in 0..10 {println!("{}", x);}}这个循环打印: 01234567890..10的iterator在循环语法中包含了下限但是不包含上限。更通用的语法: for var in iterator {// do stuff}我个人认为,所有的编程语言都应该采用iterators单一语法来实现循环。这样的简单明了的方式使得Rust语言通俗易懂,这样就可以通过定制iterator
来让循环变得更加强大,甚至可以达到Go语言的复杂格式的循环:for i := 0; i < 10; i++ {fmt.Println(i)}Rust语言的循环没有说明iteration(i++)的每一个指针步增时候的情况,
也没有说明如何在(i<10)前如果步进到下一步,仅仅是让iterator走完。循环继续和中断: for x in 0..10 {if x > 5 && x < 7 {continue}println!("{}", x);}关键词 continue都是跟所有语言一样,在这个例子中当x>5并且x<7的时候在循环中continue到下一个iteration中而不打印,这样结果是:012345789中断循环也是类似: for x in 0..10 {if x > 5{break}println!("{}", x);}打印结果:
012345嵌套循环: 在很多编程语言,嵌套循环都非常诡异,比如,我们如何在一个嵌套循环中让外循环继续的条件建立在内循环里呢?让我们看看下面的例子: 'outer: for x in 0..5 {for y in 0..5 {if y > 2{break 'outer}println!("x: {}, y: {}", x, y);}}打印:
x: 0, y: 0x: 0, y: 1x: 0, y: 2利用``outer`标签使得直接控制从哪个循环中断出来非常清晰。缺省的中断就是直接从内循环中断出来,利用标签的方式,也可以用来实现循环继续。 --
From 日报小组 BobQin
社区学习交流平台订阅:
-
Rustcc论坛: 支持rss -
微信公众号:Rust语言中文社区
文章评论