これは、比較やクラス、または比較方法の中に行くことができます。
#[導き出す(デバッグ)] 構造体長方形{ 幅:U32、 高さ:U32、 } IMPLの長方形{ FN領域(&自己) - > U32 { self.width * self.height } FN角(サイズ:U32) - >長方形{ 矩形{幅:サイズ、高さ:サイズ} } } IMPLの矩形{ FN can_hold(&自己、他:&長方形) - > {BOOL self.width> other.width && self.height> other.height } } (主FN){ せRECT1 =長方形{幅30、高さ:50}。 せRECT2 =長方形{幅10、高さ:40}。 せrect3 =長方形{幅60、高さ:45}。 !のprintln( "ホールドRECT2をRECT1できます{}?"、rect1.can_hold(&RECT2)); !のprintln( "ホールドrect3をRECT1できます{}?"、rect1.can_hold(&rect3)); println!( "RECT1がある{:?#}"、RECT1)。 !のprintln( rect1.area、 "retangleの面積が、{}正方画素です"() )。 println(! "retangleの面積が、{}正方画素である"、領域(&RECT1) )。 聞かせSQ =長方形::広場(5); println!( "四角がある{:?#}"、SQ); !のprintln( "スクエアの面積が、{}正方画素である"、sq.area())。 } FN領域(矩形:&長方形) - > U32 { rectangle.width * rectangle.height }