Setting verse key by text
Add the ability to set a very key by text Make the main.rs iterate random verses in John 3
This commit is contained in:
Generated
+88
@@ -14,6 +14,12 @@ version = "2.8.0"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "8f68f53c83ab957f72c32642f3868eec03eb974d1fb82e453128456482613d36"
|
checksum = "8f68f53c83ab957f72c32642f3868eec03eb974d1fb82e453128456482613d36"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "byteorder"
|
||||||
|
version = "1.5.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "cc"
|
name = "cc"
|
||||||
version = "1.2.15"
|
version = "1.2.15"
|
||||||
@@ -235,6 +241,15 @@ version = "0.3.31"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2"
|
checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "ppv-lite86"
|
||||||
|
version = "0.2.20"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04"
|
||||||
|
dependencies = [
|
||||||
|
"zerocopy 0.7.35",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "proc-macro2"
|
name = "proc-macro2"
|
||||||
version = "1.0.93"
|
version = "1.0.93"
|
||||||
@@ -253,6 +268,37 @@ dependencies = [
|
|||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand"
|
||||||
|
version = "0.9.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "3779b94aeb87e8bd4e834cee3650289ee9e0d5677f976ecdb6d219e5f4f6cd94"
|
||||||
|
dependencies = [
|
||||||
|
"rand_chacha",
|
||||||
|
"rand_core",
|
||||||
|
"zerocopy 0.8.20",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand_chacha"
|
||||||
|
version = "0.9.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb"
|
||||||
|
dependencies = [
|
||||||
|
"ppv-lite86",
|
||||||
|
"rand_core",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand_core"
|
||||||
|
version = "0.9.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "7a509b1a2ffbe92afab0e55c8fd99dea1c280e8171bd2d88682bb20bc41cbc2c"
|
||||||
|
dependencies = [
|
||||||
|
"getrandom",
|
||||||
|
"zerocopy 0.8.20",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rustix"
|
name = "rustix"
|
||||||
version = "0.38.44"
|
version = "0.38.44"
|
||||||
@@ -331,6 +377,7 @@ version = "0.1.0"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"cxx",
|
"cxx",
|
||||||
"cxx-build",
|
"cxx-build",
|
||||||
|
"rand",
|
||||||
"system-deps",
|
"system-deps",
|
||||||
"tempfile",
|
"tempfile",
|
||||||
]
|
]
|
||||||
@@ -548,3 +595,44 @@ checksum = "3268f3d866458b787f390cf61f4bbb563b922d091359f9608842999eaee3943c"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"bitflags",
|
"bitflags",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "zerocopy"
|
||||||
|
version = "0.7.35"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0"
|
||||||
|
dependencies = [
|
||||||
|
"byteorder",
|
||||||
|
"zerocopy-derive 0.7.35",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "zerocopy"
|
||||||
|
version = "0.8.20"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "dde3bb8c68a8f3f1ed4ac9221aad6b10cece3e60a8e2ea54a6a2dec806d0084c"
|
||||||
|
dependencies = [
|
||||||
|
"zerocopy-derive 0.8.20",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "zerocopy-derive"
|
||||||
|
version = "0.7.35"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e"
|
||||||
|
dependencies = [
|
||||||
|
"proc-macro2",
|
||||||
|
"quote",
|
||||||
|
"syn",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "zerocopy-derive"
|
||||||
|
version = "0.8.20"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "eea57037071898bf96a6da35fd626f4f27e9cee3ead2a6c703cf09d472b2e700"
|
||||||
|
dependencies = [
|
||||||
|
"proc-macro2",
|
||||||
|
"quote",
|
||||||
|
"syn",
|
||||||
|
]
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ edition = "2021"
|
|||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
cxx = "1.0.141"
|
cxx = "1.0.141"
|
||||||
|
rand = "0.9.0"
|
||||||
|
|
||||||
[build-dependencies]
|
[build-dependencies]
|
||||||
cxx-build = "1.0.141"
|
cxx-build = "1.0.141"
|
||||||
|
|||||||
+3
-1
@@ -5,14 +5,16 @@ pub mod ffi {
|
|||||||
include!("sword_rs/src/cxx/module.h");
|
include!("sword_rs/src/cxx/module.h");
|
||||||
|
|
||||||
type Mgr;
|
type Mgr;
|
||||||
type Module;
|
|
||||||
|
|
||||||
fn new_mgr() -> UniquePtr<Mgr>;
|
fn new_mgr() -> UniquePtr<Mgr>;
|
||||||
fn new_mgr_with_path(path: &String) -> UniquePtr<Mgr>;
|
fn new_mgr_with_path(path: &String) -> UniquePtr<Mgr>;
|
||||||
fn get_modules(self: &Mgr) -> Vec<String>;
|
fn get_modules(self: &Mgr) -> Vec<String>;
|
||||||
fn get_module(self: Pin<&mut Mgr>, name: &String) -> UniquePtr<Module>;
|
fn get_module(self: Pin<&mut Mgr>, name: &String) -> UniquePtr<Module>;
|
||||||
|
|
||||||
|
type Module;
|
||||||
|
|
||||||
fn get_name(self: &Module) -> String;
|
fn get_name(self: &Module) -> String;
|
||||||
|
fn set_key_text(self: Pin<&mut Module>, key_text: &String) -> ();
|
||||||
fn strip_text(self: Pin<&mut Module>) -> String;
|
fn strip_text(self: Pin<&mut Module>) -> String;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,4 +20,8 @@ class Module {
|
|||||||
(const char*) this->module->stripText()
|
(const char*) this->module->stripText()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void set_key_text(const rust::String& keyText) {
|
||||||
|
this->module->setKeyText(std::string(keyText).c_str());
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
+9
-1
@@ -1,3 +1,4 @@
|
|||||||
|
use rand::Rng;
|
||||||
use sword_rs::mgr::Mgr;
|
use sword_rs::mgr::Mgr;
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
@@ -5,6 +6,13 @@ fn main() {
|
|||||||
for mod_name in mgr.get_modules() {
|
for mod_name in mgr.get_modules() {
|
||||||
let mut module = mgr.get_module(&mod_name);
|
let mut module = mgr.get_module(&mod_name);
|
||||||
println!("Module: {}", module.get_name());
|
println!("Module: {}", module.get_name());
|
||||||
println!("Text: {}", module.strip_text());
|
let random_number: i32 = rand::rng().gen_range(1..=20);
|
||||||
|
let random_number_str = format!("John.3.{}", random_number);
|
||||||
|
module.set_key_text(&random_number_str);
|
||||||
|
println!(
|
||||||
|
"Text John 3:{} is \"{}\"",
|
||||||
|
random_number,
|
||||||
|
module.strip_text()
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,4 +17,8 @@ impl Module {
|
|||||||
pub fn strip_text(&mut self) -> String {
|
pub fn strip_text(&mut self) -> String {
|
||||||
self.module.pin_mut().strip_text()
|
self.module.pin_mut().strip_text()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn set_key_text(&mut self, key_text: &String) {
|
||||||
|
self.module.pin_mut().set_key_text(key_text);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user