この質問は、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
使用する char::to_string
、つまり 奇妙に文書化されていない :
fn main() {
io::println('c'.to_string());
}
c.to_string()
を使用できるようになりました。ここで、c
はchar
型の変数です。