やや似
#[導き出す(デバッグ)] パブ構造体長方形{ 長さ:U32、 幅:U32、 } IMPLの長方形{ パブFNのcan_hold( &自己、他:&長方形) - > BOOL { self.length > other.length && self.width> その他.width } } のパブは、fnのadd_two(:I32) - > I32 { A + 2 } のパブは、fnの挨拶(名:&STR) - > 文字列{ フォーマット!(" !こんにちは{} " 、名前) } パブの構造体の推測{ 値:I32、 } IMPLは{推測 FNパブ新(値:I32) - > {ゲス 場合、<値1 { パニック!(" 推測値は、より大きな等しいか1でなければならない、} {だ" 、値); } それ以外の 場合は値が> 100 { パニック!(「推測値未満または100に等しい、{得なければなりません}。」、値); } {推測 値 } } } #[CFG(テスト)] MODテスト{ スーパー使用:: * 。 #[テスト] FNのlarger_can_hold_smaller(){ 大きくせ =長方形{長さ:8、幅:7 }。 せより小さい =長方形{長さ:5、幅:1 }。 主張(larger.can_hold(&!小さいです)); } #[テスト] のFN smaller_cannot_hold_larger(){ 大きくせ =長方形{長さ:8の幅:7 }。 せより小さい =長方形{長さ:5、幅:1 }。 主張(smaller.can_hold(&!より大きい)); } #[テスト] FN it_add_two(){ assert_eq(!4、add_two(2 ))。 } #[テスト] FN greeting_contains_name(){ 結果せ =挨拶(" キャロル" )。 主張(result.contains(!" キャロル" )); } #[テスト] #[(期待should_panic = " 推測値が100以下でなければならない" )] FN greater_than_100(){ 推測:: 新しい(200 )。 } / * #[テスト] >)(<結果、文字列> { - FNのit_worksを() {もし2 + 2 == 4 OK(()) }他{ ( "二プラス2が等しくない4つない"からのErr(文字列:: )) } } * / }