gpt4 book ai didi

rust - 防 rust 测试不断出现错误。我需要包括一些测试内容吗?

转载 作者:行者123 更新时间:2023-12-03 11:41:44 25 4
gpt4 key购买 nike

我的代码本身可以在文件中工作,但是每当我尝试运行RuSTLings quiz1.rs时,代码的测试部分都会出错。

// GOAL OF PROGRAM
// Mary is buying apples. One apple usually costs 2 Rustbucks, but if you buy
// more than 40 at once, each apple only costs 1! Write a function that calculates
// the price of an order of apples given the order amount. No hints this time

fn calculate_apple_price(apples: i32){
let mut price = 2;
if apples >= 40 {
price = 1;
}
}

// Don't modify this function!
#[test]
fn verify_test() {
let price1 = calculate_apple_price(35);
let price2 = calculate_apple_price(65);

assert_eq!(70, price1); // Error happens here 'no implementation for `{integer} == ()`'
assert_eq!(65, price2);// Error happens here 'no implementation for `{integer} == ()`'
}
我用谷歌搜索了问题并尝试了rust的解释,但是我对Rust还是陌生的。有人可以用简单的英语解释这个错误吗?

最佳答案

您忘记为fn calculate_apple_price指定返回类型,price1price2填充了零大小的类型(这在您学习RUST时可能会造成混淆)。
你应该尝试这样的事情

fn calculate_apple_price(apples: i32) -> i32 /* specify i32 as return type */ {
let mut price = 2;
if apples >= 40 {
price = 1;
}
price // Return the price (the `return` keyword is optional in this case)
}

关于rust - 防 rust 测试不断出现错误。我需要包括一些测试内容吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63344316/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com