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
}