Rust の生の識別子の紹介

RustRustBeginner
今すぐ練習

This tutorial is from open-source community. Access the source code

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、Rust の生の識別子について学びます。これにより、通常許可されない状況(変数名や関数名など)でキーワードを識別子として使用できるようになります。特に、古い Rust のバージョンが新しいキーワードと競合する場合に役立ちます。

注: 実験でファイル名が指定されていない場合は、好きなファイル名を使用できます。たとえば、main.rs を使用して、rustc main.rs &&./main でコンパイルして実行できます。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL rust(("Rust")) -.-> rust/FunctionsandClosuresGroup(["Functions and Closures"]) rust(("Rust")) -.-> rust/DataStructuresandEnumsGroup(["Data Structures and Enums"]) rust(("Rust")) -.-> rust/ErrorHandlingandDebuggingGroup(["Error Handling and Debugging"]) rust(("Rust")) -.-> rust/ProjectManagementandOrganizationGroup(["Project Management and Organization"]) rust/FunctionsandClosuresGroup -.-> rust/function_syntax("Function Syntax") rust/FunctionsandClosuresGroup -.-> rust/expressions_statements("Expressions and Statements") rust/DataStructuresandEnumsGroup -.-> rust/method_syntax("Method Syntax") rust/ErrorHandlingandDebuggingGroup -.-> rust/error_propagation("Error Propagation") rust/ProjectManagementandOrganizationGroup -.-> rust/cargo_crates("Cargo and Crates") subgraph Lab Skills rust/function_syntax -.-> lab-99288{{"Rust の生の識別子の紹介"}} rust/expressions_statements -.-> lab-99288{{"Rust の生の識別子の紹介"}} rust/method_syntax -.-> lab-99288{{"Rust の生の識別子の紹介"}} rust/error_propagation -.-> lab-99288{{"Rust の生の識別子の紹介"}} rust/cargo_crates -.-> lab-99288{{"Rust の生の識別子の紹介"}} end

生の識別子

多くのプログラミング言語と同様に、Rust には「キーワード」の概念があります。これらの識別子は言語にとって何かの意味を持っており、変数名や関数名などの場所では使用できません。生の識別子を使うと、通常許可されない場所でキーワードを使用できるようになります。これは、Rust に新しいキーワードが導入され、古い Rust のバージョンを使用しているライブラリに新しいキーワードと同じ名前の変数や関数がある場合に特に役立ちます。

たとえば、2015 年版の Rust でコンパイルされたクレート foo が、try という名前の関数をエクスポートしているとしましょう。このキーワードは 2018 年版の新機能に予約されており、生の識別子がなければ、この関数を命名する方法がありません。

extern crate foo;

fn main() {
    foo::try();
}

このエラーが表示されます:

error: expected identifier, found keyword `try`
 --> src/main.rs:4:4
  |
4 | foo::try();
  |      ^^^ expected identifier, found keyword

生の識別子を使ってこれを書くことができます:

extern crate foo;

fn main() {
    foo::r#try();
}

まとめ

おめでとうございます!あなたは生の識別子の実験を完了しました。あなたのスキルを向上させるために、LabEx でさらに多くの実験を行って練習してください。