不知道為啥總感覺進度堪憂,我是說準備工作
之前原本有一個能運行的東西現在運行不了
我翻 commit 紀錄也沒辦法
真的頭痛 ==
總之 今天明天會是最後 Yew WASM 的內容 owob
那麼今天其實有點算是複習篇
因為前面的東西基本上都講過了
那至於題目也不會到太困難
先簡介一下凱薩密碼
凱撒密碼
好 OK 上面應該完整敘述了凱薩密碼是什麼
不懂的可以去 Google 尋找詳細
那至於怎麼實現呢
今天主要會講加密跟解密的部份
pub fn decrypt(content: String, offset: i32) -> String {
let mut result = String::new();
for c in content.chars() {
if c.is_lowercase() {
let i = c as i32 - offset;
if i < 97 {
let i = 122 - (offset - (c as i32 - 97)) + 1;
result.push(i as u8 as char);
} else {
result.push(i as u8 as char);
}
} else if c.is_uppercase() {
let i = c as i32 - offset;
if i < 65 {
let i = 90 - (offset - (c as i32 - 65)) + 1;
result.push(i as u8 as char);
} else {
result.push(i as u8 as char);
}
}
}
result
}
那上面主要是加密的部份,可以看到說定義了一個新的 String 作為回傳
至於下面 for 迴圈的部份則是先判斷現在的位元是否為大寫 / 小寫
以此去做撰寫
那 as 的技巧也有講過了
as 需要注意的問題也就是可能會把長度截斷的問題不會在此處出現
所以可以放心使用 owob
那麼解密部份的撰寫是今天的作業
感覺我的文越來越水了
最近都在想到底要怎麼做才能把 Bevy 的東西 Run 起來
一直跑不出來真的要炸了
總之讓我水一下ㄅ
週末一定弄好的內容出來owob