Rust 言語のインターフェース
追記:以下の記述は古くなっている。インターフェースはすでに言語から取り除かれた。
Rust 言語のインターフェースは、ある型の値に適用できる関数のセットを定義するもの。
iface prettifier { fn to_pretty_str() -> str; }
ある型についてインターフェースを実装すると、その型の値 value
に対して value.some_func()
という構文で関数を呼び出せる。関数内では、 value
は self
として参照できる。
impl of prettifier for uint { fn to_pretty_str() -> str { #fmt("unsigned int %u", self) } } impl of to_str for int { fn to_pretty_str() -> str { #fmt("int %d", self) } } use std; fn main(_args: [str]) { std::io::println(42u.to_pretty_str()); // => unsigned int 42 std::io::println((-42).to_pretty_str()); // => int -42 }