summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormo khan <mo@mokhan.ca>2025-06-02 17:14:53 -0600
committermo khan <mo@mokhan.ca>2025-06-02 17:14:53 -0600
commit89512f86692bd63bb9fc5d671fe5c8cc635cb16a (patch)
treedb38da33ac71e2b83174450c03d760e83174080a
parent77516f8771f91e0b30797752cb9f0248558fb6f5 (diff)
add 4.3
-rw-r--r--4.3/Cargo.lock7
-rw-r--r--4.3/Cargo.toml6
-rw-r--r--4.3/src/main.rs19
3 files changed, 32 insertions, 0 deletions
diff --git a/4.3/Cargo.lock b/4.3/Cargo.lock
new file mode 100644
index 0000000..a196e73
--- /dev/null
+++ b/4.3/Cargo.lock
@@ -0,0 +1,7 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 4
+
+[[package]]
+name = "first_word"
+version = "0.1.0"
diff --git a/4.3/Cargo.toml b/4.3/Cargo.toml
new file mode 100644
index 0000000..eaed807
--- /dev/null
+++ b/4.3/Cargo.toml
@@ -0,0 +1,6 @@
+[package]
+name = "first_word"
+version = "0.1.0"
+edition = "2024"
+
+[dependencies]
diff --git a/4.3/src/main.rs b/4.3/src/main.rs
new file mode 100644
index 0000000..4fca802
--- /dev/null
+++ b/4.3/src/main.rs
@@ -0,0 +1,19 @@
+fn main() {
+ let mut s = String::from("hello world");
+ let word = first_word(&s);
+ s.clear();
+
+ println!("word: {} in {}", word, s);
+}
+
+fn first_word(s: &String) -> usize {
+ let bytes = s.as_bytes();
+
+ for (i, &item) in bytes.iter().enumerate() {
+ if item == b' ' {
+ return i;
+ }
+ }
+
+ return s.len();
+}