Struct rlua::String[][src]

pub struct String<'lua>(_);

Handle to an internal Lua string.

Unlike Rust strings, Lua strings may not be valid UTF-8.

Methods

impl<'lua> String<'lua>
[src]

Get a &str slice if the Lua string is valid UTF-8.

Examples

let lua = Lua::new();
let globals = lua.globals();

let version: String = globals.get("_VERSION")?;
assert!(version.to_str().unwrap().contains("Lua"));

let non_utf8: String = lua.eval(r#"  "test\xff"  "#, None)?;
assert!(non_utf8.to_str().is_err());

Important traits for &'a [u8]

Get the bytes that make up this string.

The returned slice will not contain the terminating nul byte, but will contain any nul bytes embedded into the Lua string.

Examples

let lua = Lua::new();

let non_utf8: String = lua.eval(r#"  "test\xff"  "#, None).unwrap();
assert!(non_utf8.to_str().is_err());    // oh no :(
assert_eq!(non_utf8.as_bytes(), &b"test\xff"[..]);

Important traits for &'a [u8]

Get the bytes that make up this string, including the trailing nul byte.

Trait Implementations

impl<'lua> ToLua<'lua> for String<'lua>
[src]

Performs the conversion.

impl<'lua> FromLua<'lua> for String<'lua>
[src]

Performs the conversion.

impl<'lua> Clone for String<'lua>
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl<'lua> Debug for String<'lua>
[src]

Formats the value using the given formatter. Read more

impl<'lua> AsRef<[u8]> for String<'lua>
[src]

Important traits for &'a [u8]

Performs the conversion.

impl<'lua, T> PartialEq<T> for String<'lua> where
    T: AsRef<[u8]>, 
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Auto Trait Implementations

impl<'lua> !Send for String<'lua>

impl<'lua> !Sync for String<'lua>