This commit is contained in:
TimLai666 2024-06-18 14:32:54 +08:00 committed by GitHub
parent c40b3fc7aa
commit 798a2f03ae
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 21 additions and 29 deletions

View File

@ -1,11 +1,9 @@
// traits1.rs
//
// Time to implement some traits! Your task is to implement the trait
// `AppendBar` for the type `String`. The trait AppendBar has only one function,
// which appends "Bar" to any object implementing this trait.
// 是時候實現一些特徵了!您的任務是為 `String` 類型實現 `AppendBar` 特徵。
// `AppendBar` 特徵只有一個函數,它將 "Bar" 附加到任何實現了該特徵的對象中。
//
// Execute `rustlings hint traits1` or use the `hint` watch subcommand for a
// hint.
// 執行 `rustlings hint traits1` 或使用 `hint` watch 子命令來獲取提示。
// I AM NOT DONE
@ -14,7 +12,7 @@ trait AppendBar {
}
impl AppendBar for String {
// TODO: Implement `AppendBar` for type `String`.
// TODO: 為 `String` 類型實現 `AppendBar`。
}
fn main() {

View File

@ -1,12 +1,10 @@
// traits2.rs
//
// Your task is to implement the trait `AppendBar` for a vector of strings. To
// implement this trait, consider for a moment what it means to 'append "Bar"'
// to a vector of strings.
// 您的任務是為字串向量實現 `AppendBar` 特徵。要實現這個特徵,想一想將 "Bar" 附加到字串向量上意味著什麼。
//
// No boiler plate code this time, you can do this!
// 這次沒有模板代碼,您可以做到的!
//
// Execute `rustlings hint traits2` or use the `hint` watch subcommand for a hint.
// 執行 `rustlings hint traits2` 或使用 `hint` watch 子命令來獲取提示。
// I AM NOT DONE
@ -14,7 +12,7 @@ trait AppendBar {
fn append_bar(self) -> Self;
}
// TODO: Implement trait `AppendBar` for a vector of strings.
// TODO: 為字串向量實現 `AppendBar` 特徵。
#[cfg(test)]
mod tests {

View File

@ -1,12 +1,10 @@
// traits3.rs
//
// Your task is to implement the Licensed trait for both structures and have
// them return the same information without writing the same function twice.
// 您的任務是為兩個結構實現 Licensed 特徵,並讓它們回傳相同的訊息,而不需要兩次編寫相同的函數。
//
// Consider what you can add to the Licensed trait.
// 您考慮一下可以向 Licensed 特徵添加點什麼。
//
// Execute `rustlings hint traits3` or use the `hint` watch subcommand for a
// hint.
// 執行 `rustlings hint traits3` 或使用 `hint` watch 子命令來獲取提示。
// I AM NOT DONE
@ -22,8 +20,8 @@ struct OtherSoftware {
version_number: String,
}
impl Licensed for SomeSoftware {} // Don't edit this line
impl Licensed for OtherSoftware {} // Don't edit this line
impl Licensed for SomeSoftware {} // 不要編輯這一行
impl Licensed for OtherSoftware {} // 不要編輯這一行
#[cfg(test)]
mod tests {

View File

@ -1,11 +1,10 @@
// traits4.rs
//
// Your task is to replace the '??' sections so the code compiles.
// 您的任務是替換 '??' 部分以使代碼通過編譯。
//
// Don't change any line other than the marked one.
// 除了標記的行外,不要更改任何行。
//
// Execute `rustlings hint traits4` or use the `hint` watch subcommand for a
// hint.
// 執行 `rustlings hint traits4` 或使用 `hint` watch 子命令來獲取提示。
// I AM NOT DONE
@ -22,7 +21,7 @@ struct OtherSoftware {}
impl Licensed for SomeSoftware {}
impl Licensed for OtherSoftware {}
// YOU MAY ONLY CHANGE THE NEXT LINE
// 您只能更改下一行
fn compare_license_types(software: ??, software_two: ??) -> bool {
software.licensing_info() == software_two.licensing_info()
}

View File

@ -1,11 +1,10 @@
// traits5.rs
//
// Your task is to replace the '??' sections so the code compiles.
// 您的任務是替換 '??' 部分以使代碼通過編譯。
//
// Don't change any line other than the marked one.
// 除了標記的行外,不要更改任何行。
//
// Execute `rustlings hint traits5` or use the `hint` watch subcommand for a
// hint.
// 執行 `rustlings hint traits5` 或使用 `hint` watch 子命令來獲取提示。
// I AM NOT DONE
@ -29,7 +28,7 @@ impl OtherTrait for SomeStruct {}
impl SomeTrait for OtherStruct {}
impl OtherTrait for OtherStruct {}
// YOU MAY ONLY CHANGE THE NEXT LINE
// 您只能更改下一行
fn some_func(item: ??) -> bool {
item.some_function() && item.other_function()
}