web-dev-qa-db-ja.com

文字を文字列に変換する方法は?

この質問は、Rustのプレリリースバージョンに関するものです。
この若い質問 は似ています。


io::println関数で1つのシンボルを印刷しようとしました

fn main() {
    io::println('c');
}

しかし、私は次のエラーを受け取りました:

$ rustc pdst.rs 
pdst.rs:2:16: 2:19 error: mismatched types: expected `&str` but found `char` (expected &str but found char)
pdst.rs:2     io::println('c');
                          ^~~
error: aborting due to previous error

文字を文字列に変換する方法は?

[〜#〜]更新[〜#〜]

直接型キャストは機能しません:

let text:str = 'c';
let text:&str = 'c';
let text:@str = 'c';
let text:~str = 'c';

それは返します:

pdst.rs:7:13: 7:16 error: bare `str` is not a type
pdst.rs:7     let text:str = 'c';
                       ^~~
pdst.rs:7:19: 7:22 error: mismatched types: expected `~str` but found `char` (expected ~str but found char)
pdst.rs:7     let text:str = 'c';
                             ^~~
pdst.rs:8:20: 8:23 error: mismatched types: expected `&str` but found `char` (expected &str but found char)
pdst.rs:8     let text:&str = 'c';
                              ^~~
pdst.rs:9:20: 9:23 error: mismatched types: expected `@str` but found `char` (expected @str but found char)
pdst.rs:9     let text:@str = 'c';
                              ^~~
pdst.rs:10:20: 10:23 error: mismatched types: expected `~str` but found `char` (expected ~str but found char)
pdst.rs:10     let text:~str = 'c';
                               ^~~
error: aborting due to 5 previous errors
33

使用する char::to_string、つまり 奇妙に文書化されていない

fn main() {
    io::println('c'.to_string());
}
36
Hubro

c.to_string()を使用できるようになりました。ここで、cchar型の変数です。

17
Rory