Sha256: d08915d2d898e36b9ce10a1368b6e3b966363e6f336cc2646a119ae67ee8d6bd

Contents?: true

Size: 355 Bytes

Versions: 305

Compression:

Stored size: 355 Bytes

Contents

pub fn rotate(text: &str, shift_key: u8) -> String {

    text.chars().map(|c| {
        let case = if c.is_uppercase() {
            'A'
        } else {
            'a'
        } as u8;
        if c.is_alphabetic() {
            (((c as u8 - case + shift_key) % 26) + case) as char
        } else {
            c
        }
    }).collect::<String>()

}

Version data entries

305 entries across 305 versions & 1 rubygems

Version Path
trackler-2.2.1.179 tracks/rust/exercises/rotational-cipher/example.rs
trackler-2.2.1.178 tracks/rust/exercises/rotational-cipher/example.rs
trackler-2.2.1.177 tracks/rust/exercises/rotational-cipher/example.rs
trackler-2.2.1.176 tracks/rust/exercises/rotational-cipher/example.rs
trackler-2.2.1.175 tracks/rust/exercises/rotational-cipher/example.rs
trackler-2.2.1.174 tracks/rust/exercises/rotational-cipher/example.rs
trackler-2.2.1.173 tracks/rust/exercises/rotational-cipher/example.rs
trackler-2.2.1.172 tracks/rust/exercises/rotational-cipher/example.rs
trackler-2.2.1.171 tracks/rust/exercises/rotational-cipher/example.rs
trackler-2.2.1.170 tracks/rust/exercises/rotational-cipher/example.rs
trackler-2.2.1.169 tracks/rust/exercises/rotational-cipher/example.rs
trackler-2.2.1.167 tracks/rust/exercises/rotational-cipher/example.rs
trackler-2.2.1.166 tracks/rust/exercises/rotational-cipher/example.rs
trackler-2.2.1.165 tracks/rust/exercises/rotational-cipher/example.rs
trackler-2.2.1.164 tracks/rust/exercises/rotational-cipher/example.rs
trackler-2.2.1.163 tracks/rust/exercises/rotational-cipher/example.rs
trackler-2.2.1.162 tracks/rust/exercises/rotational-cipher/example.rs
trackler-2.2.1.161 tracks/rust/exercises/rotational-cipher/example.rs
trackler-2.2.1.160 tracks/rust/exercises/rotational-cipher/example.rs
trackler-2.2.1.159 tracks/rust/exercises/rotational-cipher/example.rs