vectores resueltos programacion matrices matematicas ejercicios ejemplos declarar como arrays string static rust

arrays - resueltos - vectores y matrices en programacion



¿Cómo crear una matriz estática de cadenas? (3)

Nota Esta pregunta contiene una sintaxis anterior a Rust 1.0. El código no es válido, pero los conceptos siguen siendo relevantes.

¿Cómo se crea una matriz estática global de cadenas en Rust?

Para enteros, esto compila:

static ONE:u8 = 1; static TWO:u8 = 2; static ONETWO:[&''static u8, ..2] = [&ONE, &TWO];

Pero no puedo conseguir algo similar para compilar cadenas:

static STRHELLO:&''static str = "Hello"; static STRWORLD:&''static str = "World"; static ARR:[&''static str, ..2] = [STRHELLO,STRWORLD]; // Error: Cannot refer to the interior of another static


Esta es una alternativa estable para Rust 1.0 y todas las versiones posteriores:

const BROWSERS: &''static [&''static str] = &["firefox", "chrome"];


Hay dos conceptos y palabras clave relacionados en Rust: const y static:

http://doc.rust-lang.org/reference.html#constant-items

Para la mayoría de los casos de uso, incluido este, const es más apropiado, ya que no se permite la mutación, y el compilador puede incluir elementos const en línea.

const STRHELLO:&''static str = "Hello"; const STRWORLD:&''static str = "World"; const ARR:[&''static str, ..2] = [STRHELLO,STRWORLD];

Tenga en cuenta que hay documentación obsoleta que no menciona la nueva versión, incluido Rust by Example.


Otra forma de hacerlo hoy en día es:

const A: &''static str = "Apples"; const B: &''static str = "Oranges"; const AB: [&''static str; 2] = [A, B]; // or ["Apples", "Oranges"]