Posty

Wyświetlanie postów z kwiecień, 2023

rdzawe łańcuchy(1): z węża do wielbłąda

Hej! Będzie to seria wpisów (a w zasadzie już jest to seria wpisów, bo już to zacząłem pisać). W każdym razie będę tu omawiał różne ciekawostki jeśli chodzi o stringi w Ruście. Np. dzisiaj omówimy sobie, w jaki sposób można napisać funkcję, która konwertuje takiego stringa "foo_bar_baz" na takiego: "fooBarBaz" Czyli zamieniamy z notacji snake case na camel case. Taka zabawa. A więc zaczynamy. napiszemy sobie funkcję main oraz sygnaturę naszej funkcji: fn main() { println!("{}", to_camel_case("foo_bar_baz_qwerty")); } fn to_camel_case(s: &str) -> String { } Jak widać jest to funkcja, która pobiera wycinek stringa ( string slice ) i zwraca stringa o typie String (chodzi o to, że potrzebujemy stworzyć nowego stringa i go zaalokować na starcie, dlatego zwracamy String, a nie &str). Dalej, stworzymy również wspomnianego już Stringa i go zwrócimy (na razie jest pusty). Możemy to zrobić poprzez `return out;`. Ale powiedzmy,