mirror of
https://github.com/sunface/rust-by-practice.git
synced 2025-06-25 13:39:41 +00:00
update repo layout
This commit is contained in:
1
en/assets/CNAME
Normal file
1
en/assets/CNAME
Normal file
@ -0,0 +1 @@
|
||||
practice.rs
|
104
en/assets/custom.js
Normal file
104
en/assets/custom.js
Normal file
@ -0,0 +1,104 @@
|
||||
(function() {
|
||||
var path = window.location.pathname;
|
||||
if (path.endsWith("/print.html")) {
|
||||
return;
|
||||
}
|
||||
|
||||
var images = document.querySelectorAll("main img")
|
||||
Array.prototype.forEach.call(images, function(img) {
|
||||
img.addEventListener("click", function() {
|
||||
BigPicture({
|
||||
el: img,
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
// Un-active everything when you click it
|
||||
Array.prototype.forEach.call(document.getElementsByClassName("pagetoc")[0].children, function(el) {
|
||||
el.addEventHandler("click", function() {
|
||||
Array.prototype.forEach.call(document.getElementsByClassName("pagetoc")[0].children, function(el) {
|
||||
el.classList.remove("active");
|
||||
});
|
||||
el.classList.add("active");
|
||||
});
|
||||
});
|
||||
|
||||
var updateFunction = function() {
|
||||
|
||||
var id;
|
||||
var elements = document.getElementsByClassName("header");
|
||||
Array.prototype.forEach.call(elements, function(el) {
|
||||
if (window.pageYOffset >= el.offsetTop) {
|
||||
id = el;
|
||||
}
|
||||
});
|
||||
|
||||
Array.prototype.forEach.call(document.getElementsByClassName("pagetoc")[0].children, function(el) {
|
||||
el.classList.remove("active");
|
||||
});
|
||||
|
||||
Array.prototype.forEach.call(document.getElementsByClassName("pagetoc")[0].children, function(el) {
|
||||
if (id.href.localeCompare(el.href) == 0) {
|
||||
el.classList.add("active");
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
// Populate sidebar on load
|
||||
window.addEventListener('load', function() {
|
||||
var pagetoc = document.getElementsByClassName("pagetoc")[0];
|
||||
var elements = document.getElementsByClassName("header");
|
||||
Array.prototype.forEach.call(elements, function(el) {
|
||||
var link = document.createElement("a");
|
||||
|
||||
// Indent shows hierarchy
|
||||
var indent = "";
|
||||
switch (el.parentElement.tagName) {
|
||||
case "H1":
|
||||
return;
|
||||
// case "H2":
|
||||
// indent = "20px";
|
||||
// break;
|
||||
case "H3":
|
||||
indent = "20px";
|
||||
break;
|
||||
case "H4":
|
||||
indent = "40px";
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
link.appendChild(document.createTextNode(el.text));
|
||||
link.style.paddingLeft = indent;
|
||||
link.href = el.href;
|
||||
pagetoc.appendChild(link);
|
||||
});
|
||||
updateFunction.call();
|
||||
});
|
||||
|
||||
// Handle active elements on scroll
|
||||
window.addEventListener("scroll", updateFunction);
|
||||
|
||||
var p = path.replace("index.html", "");
|
||||
p = p.replace(".html", "");
|
||||
var strs = p.split("/");
|
||||
if (strs[strs.length-1] == ""){
|
||||
strs.pop()
|
||||
}
|
||||
var str = strs[strs.length-1];
|
||||
var title = document.querySelector("main>h1,h2>a").textContent
|
||||
var gitalk = new Gitalk({
|
||||
clientID: '8e4b2cf9529ebb3dcad6',
|
||||
clientSecret: '6f6e8c23575a780bdb1faba3c17be08d76dc35f8',
|
||||
repo: 'rust-by-practice-comments',
|
||||
owner: 'sunface',
|
||||
admin: ["sunface"],
|
||||
labels: ['comments'],
|
||||
title: title,
|
||||
createIssueManually: false,
|
||||
id: str,
|
||||
distractionFreeMode: true
|
||||
});
|
||||
gitalk.render('gitalk-container');
|
||||
})();
|
BIN
en/assets/logo.png
Normal file
BIN
en/assets/logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 94 KiB |
87
en/assets/temp.md
Normal file
87
en/assets/temp.md
Normal file
@ -0,0 +1,87 @@
|
||||
# 字符、布尔、单元类型
|
||||
|
||||
### 字符
|
||||
🌟
|
||||
```rust
|
||||
|
||||
use std::mem::size_of_val;
|
||||
fn main() {
|
||||
let c1 = 'a';
|
||||
assert_eq!(size_of_val(&c1),1);
|
||||
|
||||
let c2 = '中';
|
||||
assert_eq!(size_of_val(&c2),3);
|
||||
}
|
||||
```
|
||||
|
||||
🌟
|
||||
```rust
|
||||
|
||||
fn main() {
|
||||
let c1 = "中";
|
||||
print_char(c1);
|
||||
}
|
||||
|
||||
fn print_char(c : char) {
|
||||
println!("{}", c);
|
||||
}
|
||||
```
|
||||
|
||||
### 布尔
|
||||
🌟
|
||||
```rust
|
||||
|
||||
// 让 println! 工作
|
||||
fn main() {
|
||||
let _f: bool = false;
|
||||
|
||||
let t = true;
|
||||
if !t {
|
||||
println!("hello, world");
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
🌟
|
||||
```rust
|
||||
|
||||
fn main() {
|
||||
let f = true;
|
||||
let t = true && false;
|
||||
assert_eq!(t, f);
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
### 单元类型
|
||||
🌟🌟
|
||||
```rust
|
||||
|
||||
// 让代码工作,但不要修改 `implicitly_ret_unit` !
|
||||
fn main() {
|
||||
let _v: () = ();
|
||||
|
||||
let v = (2, 3);
|
||||
assert_eq!(v, implicitly_ret_unit())
|
||||
}
|
||||
|
||||
fn implicitly_ret_unit() {
|
||||
println!("I will returen a ()")
|
||||
}
|
||||
|
||||
// 不要使用下面的函数,它只用于演示!
|
||||
fn explicitly_ret_unit() -> () {
|
||||
println!("I will returen a ()")
|
||||
}
|
||||
```
|
||||
|
||||
🌟🌟 单元类型占用的内存大小是多少?
|
||||
```rust
|
||||
|
||||
// 让代码工作:修改 `assert!` 中的 `4`
|
||||
use std::mem::size_of_val;
|
||||
fn main() {
|
||||
let unit: () = ();
|
||||
assert!(size_of_val(&unit) == 4);
|
||||
}
|
||||
```
|
Reference in New Issue
Block a user