blami tec

Alguns apunts de tecnologia

Archive for Juliol 2021

Com obtenir el primer caràcter d’un String en Rust

leave a comment »

El següent codi et permet mostrar el primer caràcter d’un String

/*
 * Programa que mostra el primer caràcter d'un String
 */
fn main() {
    let cadena = "hola";
    let caracter: char = cadena.chars().nth(0).unwrap();
    println!("El primer caràcter de \"{}\" és '{}'", cadena, caracter);
}

La clau està en input.chars().nth(0). Els Strings de Rust no poden ser indexats directament com a Python o Java (on faríem simplement cadena[0] o cadena.charAt(0)), per tant, els hem de convertir primer en un iterable de caracters i demanar-ne el primer element (nth(0))

Encara hi ha més. La funció nth() no retorna directament un caràcter sinó l’enumerat Option. Amb això ens obliga a ser conscients que podria no haver-hi cap caràcter al String. De fet, això no és possible doncs sabem que cadena conté "hola", però això nth() no ho pot saber. Com que nosaltres sí ho sabem, cridem a unwrap() que simplement extraurà el caràcter de l’opció Ok(ch) de Option.

Per cert, el títol d’aquesta entrada no és precís. El codi en realitat està extraient el caràcter d’un &str. Amb tot, el codi funciona igual si cadena és inicialitzada com a String.

    let cadena = String::from("hola");

Written by blami

8 Juliol 2021 at 11:19

Arxivat a rust