渚  直樹

渚 直樹

1635830580

【初心者必見!】Rust言語とは?

Rustプログラミング言語を使用すると、信頼性が高く効率的なシステムソフトウェアを構築できます。開発者は、Webサーバー、メールサーバー、WebブラウザーなどのネットワークソフトウェアにRustを使用します。Rustは、コンパイラとインタプリタ、仮想化とソフトウェアコンテナ、データベース、オペレーティングシステム、および暗号化にも存在します。Rustを使用して、ゲーム、コマンドラインプログラム、Webアセンブリプログラム、および組み込みデバイス用のアプリケーションを構築できます。

Rustは、CやC ++などの既存のシステムソフトウェア言語の安全な代替手段です。CやC ++と同様に、Rustに大きなランタイムやガベージコレクターがないため、他のほとんどすべての現代言語とは対照的です。ただし、CやC ++とは異なり、Rustはメモリの安全性を保証します。Rustは、CおよびC ++で見られる可能性のあるメモリの誤った使用に関連するバグの多くを防ぎます。

Rustは、パフォーマンス、安全性、および実装表現の間で独自のバランスを取ります。プログラミングのバックグラウンドが何であれ、Rustには何か提供できるものがあることに気付くでしょう。

Rustを学ぶための最良の方法は何ですか?

Rustコードを生産的に作成するには、Rustに少し理論的な知識が必要です。開発を開始する前に、このコースまたは他のRust学習リソースに必ず従ってください。言語の基本的な理解に達したら、可能な限りコードを書く練習をしてください。このモジュールの演習とこの学習パスの他の演習と一緒に入力します。

まず、言語の小さな基本的な概念を学ぶことから始めます。次に、練習問題と探索を使用して基盤を構築します。途中でいくつかのプロジェクトを作成し、レッスンの終わりまでに、言語をしっかりと理解できるようになります。

学習目標

このモジュールでは、次のことを学びます。

  • Rustのユニークな機能のいくつか
  • 開発者が他のプログラミング言語よりもRustを選択する理由
  • Rustプログラムをビルド、コンパイル、実行するための基本的なコンポーネントとツール
  • Rustプレイグラウンドをお試しください

Rustとは何ですか?

Rustは、効率的で安全なソフトウェアを開発するために使用できるオープンソースのシステムプログラミング言語です。Rustを使用すると、メモリを管理したり、その他の低レベルの詳細を制御したりできます。ただし、反復やインターフェースなどの高レベルの概念を利用することもできます。これらの機能により、RustはCやC ++などの低水準言語とは一線を画しています。

Rustには、さまざまなアプリケーションに最適な次の利点もあります。

  • 型安全性:コンパイラーは、間違った型の変数に操作が適用されないことを保証します。
  • メモリセーフ: Rustポインタ(参照と呼ばれます)は常に有効なメモリを参照します。
  • データ競合なし: Rustの借用チェッカーは、プログラムの複数の部分が同時に同じ値を変更できないようにすることで、スレッドセーフを保証します。
  • ゼロコストの抽象化: Rustを使用すると、パフォーマンスコストを最小限に抑えながら、反復、インターフェイス、関数型プログラミングなどの高レベルの概念を使用できます。基礎となるコードを手作業で記述したかのように、抽象化も同様に機能します。
  • 最小限のランタイム: Rustには非常に最小限のオプションのランタイムがあります。この言語には、メモリを効率的に管理するためのガベージコレクタもありません。このように、RustはCやC ++などの言語に最もよく似ています。
  • ベアメタルをターゲットにする: Rustは、組み込みおよび「ベアメタル」プログラミングをターゲットにできるため、オペレーティングシステムのカーネルまたはデバイスドライバーの作成に適しています。

よると、スタックオーバーフローの開発調査2021年の、錆は、行の数年間、最も愛された言語となっています。開発者はRustでプログラミングを楽しんでいます!新興企業から大企業まで、多くの種類の組織が独自のユースケースにRustを使用しています。ツールの構築から、Webアプリの作成、サーバーでの作業、組み込みシステムの作成まで、可能性は無限大です。

Rustのユニークな機能

プログラミング言語がプロジェクトに適しているかどうかを判断するには、機能と制限を知る必要があります。次に、可能な言語を比較して、最適な言語を選択できます。

この単元では、Rustの機能と制限のいくつかを確認します。

  • Rustモジュールシステム:モジュール、木枠、およびパス
  • Rust標準ライブラリとサードパーティのクレート
  • RustCargoツールと依存関係マネージャー
  • Rustを使用するタイミング

Rustモジュールシステムでコードを管理する

Rustは、コードの管理と整理に役立つ機能のコレクションを提供します。これらの機能は「Rustモジュールシステム」と呼ばれます。システムは、クレート、モジュール、パス、およびそれらのアイテムを操作するためのツールで構成されています。

クレート:Rustクレートはコンパイルユニットです。これは、Rustコンパイラが実行できる最小のコードです。クレート内のコードは、バイナリ実行可能ファイルまたはライブラリを作成するために一緒にコンパイルされます。Rustでは、クレートのみが再利用可能なユニットとしてコンパイルされます。クレートには、暗黙の名前のないトップレベルモジュールを含むRustモジュールの階層が含まれています。

モジュール:Rustモジュールは、クレート内の個々のコードアイテムのスコープを管理できるようにすることで、プログラムを整理するのに役立ちます。関連するコードアイテムまたは一緒に使用されるアイテムは、同じモジュールにグループ化できます。再帰的なコード定義は、他のモジュールにまたがることができます。

パス:Rustでは、パスを使用してコード内のアイテムに名前を付けることができます。たとえば、パスは、ベクトル、コード関数、さらにはモジュールなどのデータ定義にすることができます。モジュール機能は、パスのプライバシーを制御するのにも役立ちます。パブリックにアクセスできるコードの部分とプライベートにアクセスできる部分を指定できます。この機能を使用すると、実装の詳細を非表示にできます。

Rustクレートとライブラリを使用する

Rust標準ライブラリにstdは、Rustプログラムの基本的な定義と操作のための再利用可能なコードが含まれています。このライブラリには、Stringやなどのコアデータ型の定義、Vec<T>Rustプリミティブの操作、一般的に使用されるマクロ関数のコード、入力アクションと出力アクションのサポート、およびその他の多くの機能領域があります。

Rustプログラムで使用できるライブラリとサードパーティのクレートは数万あり、そのほとんどはRustのサードパーティのクレートリポジトリcrates.ioからアクセスできます。プロジェクトからこれらのクレートにアクセスする方法については後で学習しますが、今のところ、プログラミング演習で使用されるいくつかのクレートを次に示します。

  • std -Rust標準ライブラリ。Rustの演習では、次のモジュールに気付くでしょう。
    • std :: collections-などのコレクションタイプの定義HashMap
    • std :: env-環境を操作するための関数。
    • std :: fmt-出力フォーマットを制御する機能。
    • std :: fs-ファイルシステムを操作するための関数。
    • std :: io-入出力を操作するための定義と機能。
    • std :: path-ファイルシステムパスデータの操作をサポートする定義と関数。
  • structopt-コマンドライン引数を簡単に解析するためのサードパーティのクレート。
  • クロノ-日付と時刻のデータを処理するサードパーティのクレート。
  • regex-正規表現を処理するサードパーティのクレート。
  • serde -Rustデータ構造のシリアル化および逆シリアル化操作のサードパーティクレート。

デフォルトでは、stdライブラリはすべてのRustクレートで使用できます。クレートまたはライブラリ内の再利用可能なコードにアクセスするために、useキーワードを実装します。ではuse、あなたのプログラムの定義や機能にアクセスできるように、キーワード、クレートまたはライブラリのコードは、「スコープに持ち込ま」されます。標準ライブラリは、のようにuse、パスを持つステートメントでアクセスstdされuse std::fmtます。他のクレートまたはライブラリには、などの名前でアクセスしますuse regex::Regex

Cargoでプロジェクトを作成および管理する

Rustコンパイラ(rustc)を直接使用してクレートをビルドすることは可能ですが、ほとんどのプロジェクトでは、RustビルドツールとCargoと呼ばれる依存関係マネージャーを使用します。

貨物はあなたのためにたくさんのことをします:

  • cargo newコマンドを使用して新しいプロジェクトテンプレートを作成します。
  • cargo buildコマンドを使用してプロジェクトをビルドします。
  • cargo runコマンドを使用してプロジェクトをビルドして実行します。
  • cargo testコマンドを使用してプロジェクトをテストします。
  • cargo checkコマンドでプロジェクトタイプを確認します。
  • cargo docコマンドを使用してプロジェクトのドキュメントを作成します。
  • cargo publishコマンドを使用して、ライブラリをcrates.ioに公開します。
  • Cargo.tomlファイルにクレート名を追加して、プロジェクトに依存クレートを追加します。

Rustを使用するタイミング

Rust言語には、プロジェクトに最適な言語を選択する際に考慮すべき多くの長所があります。

  • Rustを使用すると、CおよびC ++と同等の言語で記述されたプログラムとライブラリのパフォーマンスとリソース消費を制御できますが、デフォルトではメモリセーフであり、一般的なバグのクラス全体が排除されます。
  • Rustには豊富な抽象化機能があり、開発者はプログラムの不変条件の多くをコードにエンコードできます。コードは、規則やドキュメントに依存する代わりに、コンパイラーによってチェックされます。この機能は、「コンパイルすれば機能する」という感覚につながることがよくあります。
  • Rustには、コードを構築、テスト、文書化、共有するための組み込みツールと、サードパーティのツールとライブラリの豊富なエコシステムがあります。これらのツールは、依存関係の構築など、一部の言語では困難なタスクをRustで簡単かつ生産的にすることができます。

さびの遊び場


Rustコードを少し試したり、Rustライブラリの定義の構文を確認したりしたい場合があります。また、一部のコードを他のコードとすばやく共有する方法を探しているかもしれません。Rust言語は、Rustプレイグラウンドでこれらのタスクをサポートします。

遊び場は、インターネットで入手できるRust開発用のIDEですhttps://play.rust-lang.org/。誰でも遊び場にアクセスできます。コードを記述してから、同じ環境でコードをコンパイルして実行できます。次のスクリーンショットは、遊び場の環境を示しています。ツールバーの右端にある[構成]メニューには、環境の設定を設定するためのオプションがあります。

基本的なプログラムを示すRustプレイグラウンドのスクリーンショット。

遊び場では、Ruststd標準ライブラリのメソッドと関数にアクセスできます。crates.ioライブラリで最もダウンロードされた上位100のクレートも、それらの依存関係とともに利用できます。

ツールと機能

Rustプレイグラウンドには、いくつかの組み込みツールと開発機能があります。

  • フォーマットコード:Rustfmtツールは、公式のRustスタイルに従うようにコードをフォーマットします。ツールはコードを調整し、要素と演算子の間に推奨されるインデントと間隔を適用します。
  • テストコード:Clippyツールはコードの間違いをチェックします。このツールは、コードに対してlintテストを実行して、エラーと改善すべき領域を見つけます。
  • コードの保存:Rustプレイグラウンドで作業しているときに、コードはブラウザーのローカルストレージに自動的に保存されます。この機能により、特にブラウザウィンドウを閉じた場合に、最新の作業を簡単に復元できます。
  • コードの共有共有機能は、遊び場のコードに共有可能なGitHubの要点を作成します。このURLを保存して、後でコードにアクセスできます。URLは、特定のコードの要点を遊び場にロードします。

ノート

ブラウザのローカルストレージはシングルトンリソースです。Rustプレイグラウンドに対して複数のブラウザウィンドウを開いていて、各ウィンドウで異なるコードを操作している場合、すべてのウィンドウで最後に保存されたコードのみがローカルストレージに保持されます。

ビルドオプション

Rustプレイグラウンドでコードをビルドして実行するには、いくつかのオプションがあります。

  • 実行:コードをビルドして実行し、出力を表示します。[実行]オプションは、cargo runコマンドを使用する場合と同じです。
  • ビルド:コードをビルドしますが、コードは実行しないでください。ビルドオプションが使用するのと同じであるcargo buildコマンドを。
  • テスト:コードをビルドし、コードに対してすべてのテストを実行します。テストオプションは、使用するのと同じであるcargo testコマンドを。

保護限界

サイトが悪意のある方法で使用されるのを防ぐために、遊び場にはいくつかの制限があります。制限は、サイトがすべてのユーザーに引き続き利用可能であることを保証するのに役立ちます。

  • ネットワーク:プレイグラウンドでコードをコンパイルまたは実行すると、ネットワーク接続が利用できなくなります。
  • メモリ:遊び場は、コードをコンパイルしてビルドされたプログラムを実行するために使用できるメモリを制限します。
  • 実行時間:遊び場は、コードをコンパイルしてビルドされたプログラムを実行するための最大時間を設定します。
  • ディスク:コードをコンパイルしてビルドされたプログラムを実行するために使用できるディスク容量は限られています。

エクササイズ


Rustプレイグラウンドは、小さなプログラムをテストしたり、新しいクレートやライブラリを試したり、他の人とコードを共有したりするのに便利です。この演習では、環境に慣れるために、遊び場で小さなプログラムを作成します。

遊び場でコードを書く

基本的なプログラムのコードを書くことから始めましょう。

Rustプレイグラウンドに接続します。

プレイグラウンドエディタに次のコードを入力します。

さびコピー

 

[ツール] > [ Rustfmt]を選択して、コードをフォーマットします。

Rustプレイグラウンドの[ツール]メニューのスクリーンショット。

このツールは、公式のRustスタイルに従うようにコードを調整します。

Rustプレイグラウンドで再フォーマットされたコードのスクリーンショット。

[ツール] > [クリッピー]を選択して、コードの間違いをチェックします。結果はエディターの下に表示されます。

Clippyツールのスクリーンショットは、Rustプレイグラウンドになります。

サンプルコードを修正するには、「Welcome toRust!」というテキストを引用符で囲みます。

Rustプレイグラウンドの修正コードのスクリーンショット。

遊び場でコードをビルドして実行する

次に、コードをコンパイルしてプログラムを実行します。

プレイグラウンドでコードをビルドして実行する方法を選択するには、UIの上部にある[実行]ドロップダウンメニューを開きます。

Rustプレイグラウンドの[実行]メニューのスクリーンショット。

[実行]を選択して、サンプルプログラムをビルドして実行します。プログラムの出力は、エディターの下に表示されます。

Rustプレイグラウンドで出力されたサンプルプログラムのスクリーンショット。

遊び場でコードを保存して共有する

遊び場で作業していると、コードは自動的にブラウザのストレージに保存されます。ブラウザウィンドウを閉じると、入力したコードが失われる可能性があります。コードを常に利用できるようにするために、共有可能なURLを作成できます。

ツールバーの[共有]機能を選択して、プレイグラウンドのコードのGitHub要点を作成します。

Rustプレイグラウンドで共有機能を使用する方法を示すスクリーンショット。

「遊び場へのパーマリンク」というテキストの横にある紙のアイコンを選択して、コードの共有可能な要点を取得します。

これで、URLを保存して後でコードにアクセスしたり、他の人がコードを表示できるようにURLを共有したりできます。

fn main(){println!(Welcome to Rust!);}

概要

このモジュールでは、Rustプログラミング言語を使用して構築できるアプリケーションの種類について学習しました。Rustは、低レベルと高レベルの両方のタイプの開発に役立ちます。

コードを操作するためにRustコマンドを確認しました。このrustcコマンドは、Rustプログラムの作成とコンパイルに使用されます。

Rust Cargo機能を発見し、コード編成のモジュールシステムについて学びました。Cargoを使用して新しいプロジェクトを作成し、それをビルドして実行します。

Rustの遊び場環境を見て、コードの記述、ビルド、テスト、および実行の方法を学びました。

リンク: https://docs.microsoft.com/en-us/learn/modules/rust-introduction/

#rust #Beginners 

What is GEEK

Buddha Community

【初心者必見!】Rust言語とは?
渚  直樹

渚 直樹

1635830580

【初心者必見!】Rust言語とは?

Rustプログラミング言語を使用すると、信頼性が高く効率的なシステムソフトウェアを構築できます。開発者は、Webサーバー、メールサーバー、WebブラウザーなどのネットワークソフトウェアにRustを使用します。Rustは、コンパイラとインタプリタ、仮想化とソフトウェアコンテナ、データベース、オペレーティングシステム、および暗号化にも存在します。Rustを使用して、ゲーム、コマンドラインプログラム、Webアセンブリプログラム、および組み込みデバイス用のアプリケーションを構築できます。

Rustは、CやC ++などの既存のシステムソフトウェア言語の安全な代替手段です。CやC ++と同様に、Rustに大きなランタイムやガベージコレクターがないため、他のほとんどすべての現代言語とは対照的です。ただし、CやC ++とは異なり、Rustはメモリの安全性を保証します。Rustは、CおよびC ++で見られる可能性のあるメモリの誤った使用に関連するバグの多くを防ぎます。

Rustは、パフォーマンス、安全性、および実装表現の間で独自のバランスを取ります。プログラミングのバックグラウンドが何であれ、Rustには何か提供できるものがあることに気付くでしょう。

Rustを学ぶための最良の方法は何ですか?

Rustコードを生産的に作成するには、Rustに少し理論的な知識が必要です。開発を開始する前に、このコースまたは他のRust学習リソースに必ず従ってください。言語の基本的な理解に達したら、可能な限りコードを書く練習をしてください。このモジュールの演習とこの学習パスの他の演習と一緒に入力します。

まず、言語の小さな基本的な概念を学ぶことから始めます。次に、練習問題と探索を使用して基盤を構築します。途中でいくつかのプロジェクトを作成し、レッスンの終わりまでに、言語をしっかりと理解できるようになります。

学習目標

このモジュールでは、次のことを学びます。

  • Rustのユニークな機能のいくつか
  • 開発者が他のプログラミング言語よりもRustを選択する理由
  • Rustプログラムをビルド、コンパイル、実行するための基本的なコンポーネントとツール
  • Rustプレイグラウンドをお試しください

Rustとは何ですか?

Rustは、効率的で安全なソフトウェアを開発するために使用できるオープンソースのシステムプログラミング言語です。Rustを使用すると、メモリを管理したり、その他の低レベルの詳細を制御したりできます。ただし、反復やインターフェースなどの高レベルの概念を利用することもできます。これらの機能により、RustはCやC ++などの低水準言語とは一線を画しています。

Rustには、さまざまなアプリケーションに最適な次の利点もあります。

  • 型安全性:コンパイラーは、間違った型の変数に操作が適用されないことを保証します。
  • メモリセーフ: Rustポインタ(参照と呼ばれます)は常に有効なメモリを参照します。
  • データ競合なし: Rustの借用チェッカーは、プログラムの複数の部分が同時に同じ値を変更できないようにすることで、スレッドセーフを保証します。
  • ゼロコストの抽象化: Rustを使用すると、パフォーマンスコストを最小限に抑えながら、反復、インターフェイス、関数型プログラミングなどの高レベルの概念を使用できます。基礎となるコードを手作業で記述したかのように、抽象化も同様に機能します。
  • 最小限のランタイム: Rustには非常に最小限のオプションのランタイムがあります。この言語には、メモリを効率的に管理するためのガベージコレクタもありません。このように、RustはCやC ++などの言語に最もよく似ています。
  • ベアメタルをターゲットにする: Rustは、組み込みおよび「ベアメタル」プログラミングをターゲットにできるため、オペレーティングシステムのカーネルまたはデバイスドライバーの作成に適しています。

よると、スタックオーバーフローの開発調査2021年の、錆は、行の数年間、最も愛された言語となっています。開発者はRustでプログラミングを楽しんでいます!新興企業から大企業まで、多くの種類の組織が独自のユースケースにRustを使用しています。ツールの構築から、Webアプリの作成、サーバーでの作業、組み込みシステムの作成まで、可能性は無限大です。

Rustのユニークな機能

プログラミング言語がプロジェクトに適しているかどうかを判断するには、機能と制限を知る必要があります。次に、可能な言語を比較して、最適な言語を選択できます。

この単元では、Rustの機能と制限のいくつかを確認します。

  • Rustモジュールシステム:モジュール、木枠、およびパス
  • Rust標準ライブラリとサードパーティのクレート
  • RustCargoツールと依存関係マネージャー
  • Rustを使用するタイミング

Rustモジュールシステムでコードを管理する

Rustは、コードの管理と整理に役立つ機能のコレクションを提供します。これらの機能は「Rustモジュールシステム」と呼ばれます。システムは、クレート、モジュール、パス、およびそれらのアイテムを操作するためのツールで構成されています。

クレート:Rustクレートはコンパイルユニットです。これは、Rustコンパイラが実行できる最小のコードです。クレート内のコードは、バイナリ実行可能ファイルまたはライブラリを作成するために一緒にコンパイルされます。Rustでは、クレートのみが再利用可能なユニットとしてコンパイルされます。クレートには、暗黙の名前のないトップレベルモジュールを含むRustモジュールの階層が含まれています。

モジュール:Rustモジュールは、クレート内の個々のコードアイテムのスコープを管理できるようにすることで、プログラムを整理するのに役立ちます。関連するコードアイテムまたは一緒に使用されるアイテムは、同じモジュールにグループ化できます。再帰的なコード定義は、他のモジュールにまたがることができます。

パス:Rustでは、パスを使用してコード内のアイテムに名前を付けることができます。たとえば、パスは、ベクトル、コード関数、さらにはモジュールなどのデータ定義にすることができます。モジュール機能は、パスのプライバシーを制御するのにも役立ちます。パブリックにアクセスできるコードの部分とプライベートにアクセスできる部分を指定できます。この機能を使用すると、実装の詳細を非表示にできます。

Rustクレートとライブラリを使用する

Rust標準ライブラリにstdは、Rustプログラムの基本的な定義と操作のための再利用可能なコードが含まれています。このライブラリには、Stringやなどのコアデータ型の定義、Vec<T>Rustプリミティブの操作、一般的に使用されるマクロ関数のコード、入力アクションと出力アクションのサポート、およびその他の多くの機能領域があります。

Rustプログラムで使用できるライブラリとサードパーティのクレートは数万あり、そのほとんどはRustのサードパーティのクレートリポジトリcrates.ioからアクセスできます。プロジェクトからこれらのクレートにアクセスする方法については後で学習しますが、今のところ、プログラミング演習で使用されるいくつかのクレートを次に示します。

  • std -Rust標準ライブラリ。Rustの演習では、次のモジュールに気付くでしょう。
    • std :: collections-などのコレクションタイプの定義HashMap
    • std :: env-環境を操作するための関数。
    • std :: fmt-出力フォーマットを制御する機能。
    • std :: fs-ファイルシステムを操作するための関数。
    • std :: io-入出力を操作するための定義と機能。
    • std :: path-ファイルシステムパスデータの操作をサポートする定義と関数。
  • structopt-コマンドライン引数を簡単に解析するためのサードパーティのクレート。
  • クロノ-日付と時刻のデータを処理するサードパーティのクレート。
  • regex-正規表現を処理するサードパーティのクレート。
  • serde -Rustデータ構造のシリアル化および逆シリアル化操作のサードパーティクレート。

デフォルトでは、stdライブラリはすべてのRustクレートで使用できます。クレートまたはライブラリ内の再利用可能なコードにアクセスするために、useキーワードを実装します。ではuse、あなたのプログラムの定義や機能にアクセスできるように、キーワード、クレートまたはライブラリのコードは、「スコープに持ち込ま」されます。標準ライブラリは、のようにuse、パスを持つステートメントでアクセスstdされuse std::fmtます。他のクレートまたはライブラリには、などの名前でアクセスしますuse regex::Regex

Cargoでプロジェクトを作成および管理する

Rustコンパイラ(rustc)を直接使用してクレートをビルドすることは可能ですが、ほとんどのプロジェクトでは、RustビルドツールとCargoと呼ばれる依存関係マネージャーを使用します。

貨物はあなたのためにたくさんのことをします:

  • cargo newコマンドを使用して新しいプロジェクトテンプレートを作成します。
  • cargo buildコマンドを使用してプロジェクトをビルドします。
  • cargo runコマンドを使用してプロジェクトをビルドして実行します。
  • cargo testコマンドを使用してプロジェクトをテストします。
  • cargo checkコマンドでプロジェクトタイプを確認します。
  • cargo docコマンドを使用してプロジェクトのドキュメントを作成します。
  • cargo publishコマンドを使用して、ライブラリをcrates.ioに公開します。
  • Cargo.tomlファイルにクレート名を追加して、プロジェクトに依存クレートを追加します。

Rustを使用するタイミング

Rust言語には、プロジェクトに最適な言語を選択する際に考慮すべき多くの長所があります。

  • Rustを使用すると、CおよびC ++と同等の言語で記述されたプログラムとライブラリのパフォーマンスとリソース消費を制御できますが、デフォルトではメモリセーフであり、一般的なバグのクラス全体が排除されます。
  • Rustには豊富な抽象化機能があり、開発者はプログラムの不変条件の多くをコードにエンコードできます。コードは、規則やドキュメントに依存する代わりに、コンパイラーによってチェックされます。この機能は、「コンパイルすれば機能する」という感覚につながることがよくあります。
  • Rustには、コードを構築、テスト、文書化、共有するための組み込みツールと、サードパーティのツールとライブラリの豊富なエコシステムがあります。これらのツールは、依存関係の構築など、一部の言語では困難なタスクをRustで簡単かつ生産的にすることができます。

さびの遊び場


Rustコードを少し試したり、Rustライブラリの定義の構文を確認したりしたい場合があります。また、一部のコードを他のコードとすばやく共有する方法を探しているかもしれません。Rust言語は、Rustプレイグラウンドでこれらのタスクをサポートします。

遊び場は、インターネットで入手できるRust開発用のIDEですhttps://play.rust-lang.org/。誰でも遊び場にアクセスできます。コードを記述してから、同じ環境でコードをコンパイルして実行できます。次のスクリーンショットは、遊び場の環境を示しています。ツールバーの右端にある[構成]メニューには、環境の設定を設定するためのオプションがあります。

基本的なプログラムを示すRustプレイグラウンドのスクリーンショット。

遊び場では、Ruststd標準ライブラリのメソッドと関数にアクセスできます。crates.ioライブラリで最もダウンロードされた上位100のクレートも、それらの依存関係とともに利用できます。

ツールと機能

Rustプレイグラウンドには、いくつかの組み込みツールと開発機能があります。

  • フォーマットコード:Rustfmtツールは、公式のRustスタイルに従うようにコードをフォーマットします。ツールはコードを調整し、要素と演算子の間に推奨されるインデントと間隔を適用します。
  • テストコード:Clippyツールはコードの間違いをチェックします。このツールは、コードに対してlintテストを実行して、エラーと改善すべき領域を見つけます。
  • コードの保存:Rustプレイグラウンドで作業しているときに、コードはブラウザーのローカルストレージに自動的に保存されます。この機能により、特にブラウザウィンドウを閉じた場合に、最新の作業を簡単に復元できます。
  • コードの共有共有機能は、遊び場のコードに共有可能なGitHubの要点を作成します。このURLを保存して、後でコードにアクセスできます。URLは、特定のコードの要点を遊び場にロードします。

ノート

ブラウザのローカルストレージはシングルトンリソースです。Rustプレイグラウンドに対して複数のブラウザウィンドウを開いていて、各ウィンドウで異なるコードを操作している場合、すべてのウィンドウで最後に保存されたコードのみがローカルストレージに保持されます。

ビルドオプション

Rustプレイグラウンドでコードをビルドして実行するには、いくつかのオプションがあります。

  • 実行:コードをビルドして実行し、出力を表示します。[実行]オプションは、cargo runコマンドを使用する場合と同じです。
  • ビルド:コードをビルドしますが、コードは実行しないでください。ビルドオプションが使用するのと同じであるcargo buildコマンドを。
  • テスト:コードをビルドし、コードに対してすべてのテストを実行します。テストオプションは、使用するのと同じであるcargo testコマンドを。

保護限界

サイトが悪意のある方法で使用されるのを防ぐために、遊び場にはいくつかの制限があります。制限は、サイトがすべてのユーザーに引き続き利用可能であることを保証するのに役立ちます。

  • ネットワーク:プレイグラウンドでコードをコンパイルまたは実行すると、ネットワーク接続が利用できなくなります。
  • メモリ:遊び場は、コードをコンパイルしてビルドされたプログラムを実行するために使用できるメモリを制限します。
  • 実行時間:遊び場は、コードをコンパイルしてビルドされたプログラムを実行するための最大時間を設定します。
  • ディスク:コードをコンパイルしてビルドされたプログラムを実行するために使用できるディスク容量は限られています。

エクササイズ


Rustプレイグラウンドは、小さなプログラムをテストしたり、新しいクレートやライブラリを試したり、他の人とコードを共有したりするのに便利です。この演習では、環境に慣れるために、遊び場で小さなプログラムを作成します。

遊び場でコードを書く

基本的なプログラムのコードを書くことから始めましょう。

Rustプレイグラウンドに接続します。

プレイグラウンドエディタに次のコードを入力します。

さびコピー

 

[ツール] > [ Rustfmt]を選択して、コードをフォーマットします。

Rustプレイグラウンドの[ツール]メニューのスクリーンショット。

このツールは、公式のRustスタイルに従うようにコードを調整します。

Rustプレイグラウンドで再フォーマットされたコードのスクリーンショット。

[ツール] > [クリッピー]を選択して、コードの間違いをチェックします。結果はエディターの下に表示されます。

Clippyツールのスクリーンショットは、Rustプレイグラウンドになります。

サンプルコードを修正するには、「Welcome toRust!」というテキストを引用符で囲みます。

Rustプレイグラウンドの修正コードのスクリーンショット。

遊び場でコードをビルドして実行する

次に、コードをコンパイルしてプログラムを実行します。

プレイグラウンドでコードをビルドして実行する方法を選択するには、UIの上部にある[実行]ドロップダウンメニューを開きます。

Rustプレイグラウンドの[実行]メニューのスクリーンショット。

[実行]を選択して、サンプルプログラムをビルドして実行します。プログラムの出力は、エディターの下に表示されます。

Rustプレイグラウンドで出力されたサンプルプログラムのスクリーンショット。

遊び場でコードを保存して共有する

遊び場で作業していると、コードは自動的にブラウザのストレージに保存されます。ブラウザウィンドウを閉じると、入力したコードが失われる可能性があります。コードを常に利用できるようにするために、共有可能なURLを作成できます。

ツールバーの[共有]機能を選択して、プレイグラウンドのコードのGitHub要点を作成します。

Rustプレイグラウンドで共有機能を使用する方法を示すスクリーンショット。

「遊び場へのパーマリンク」というテキストの横にある紙のアイコンを選択して、コードの共有可能な要点を取得します。

これで、URLを保存して後でコードにアクセスしたり、他の人がコードを表示できるようにURLを共有したりできます。

fn main(){println!(Welcome to Rust!);}

概要

このモジュールでは、Rustプログラミング言語を使用して構築できるアプリケーションの種類について学習しました。Rustは、低レベルと高レベルの両方のタイプの開発に役立ちます。

コードを操作するためにRustコマンドを確認しました。このrustcコマンドは、Rustプログラムの作成とコンパイルに使用されます。

Rust Cargo機能を発見し、コード編成のモジュールシステムについて学びました。Cargoを使用して新しいプロジェクトを作成し、それをビルドして実行します。

Rustの遊び場環境を見て、コードの記述、ビルド、テスト、および実行の方法を学びました。

リンク: https://docs.microsoft.com/en-us/learn/modules/rust-introduction/

#rust #Beginners