未解析的导入from_str

时间:2015-07-10 00:55:15

标签: rust

如何使用from_str?我有片段

let base: u32 = from_str::<u32>(&var)

并获得错误

Error: unresolved name from_str

所以我用Google搜索了这个错误并找到了this,所以我尝试添加以下内容

use std::u32;
use std::from_str::FromStr

但现在我得到了

Error: unresolved import `std::from_str::FromStr` could not from `from_str` in `std` 

根据this github问题,我需要包括这个但是生锈找不到它。这是怎么回事?这是一个超级简单程序,它给了我那些错误

use std::u32;
use std::from_str::FromStr;

fn main() {

    let my_str = "String".to_string();
    let base: u32 = from_str(&my_str);
}

这是一个微不足道的问题,但这些资源只是告诉我如何获得更多错误。

1 个答案:

答案 0 :(得分:8)

Use the docs to search for from_str.他们显示public override void Input0_ProcessInputRow(Input0Buffer Row) { // This block does **not** succeed in evaluating the Row.MealCode value // with the .Contains("string") method. All rows evaluate as case else. if (Row.MealCode.Contains("FREE")) { Row.tMealCode = "Free"; } else { Row.tMealCode = "Else"; } // This code successfully evaluates the value of MealCode // in each row and correctly outputs it as a tMealCode value. switch (Row.MealCode) { case "Free lunch": case "FREE": Row.tMealCode = "Free"; break; case "Reduced Lunch": case "RED": Row.tMealCode = "Reduced"; break; case "REG": Row.tMealCode = "Regular"; break; default: Row.tMealCode = "Else"; break; } } 特征现在在FromStr,而不是std::str。 (2014年4月是Rust的术语很长,在Rust 1.0.0之前就好了。)

无论如何,

std::from_str一般不应直接使用;您应该使用str.parse method代替:FromStr。请记住它返回my_str.parse::<u32>(),因为字符串可能不包含数字。