これを引数として渡します。簡単ですね!行はセミコロン(;)で終わります。ほとんどのものは文ではなく式になります。式が終わり、次の式が始まることを示します。「Rustのプログラムを書いて走らせる」で、新しく作ったプログラムをどうやって実行するか示しました。それぞれを分解して手順毎に見ていきましょう。Rustのプログラムを走らせる前に、コンパイルする必要があります。入力して、ソースファイルの名前を渡してあげることで使えます。似ていることに気付くでしょう。コンパイルが成功したら、Rustは実行可能バイナリを出力したはずです。コマンドで確認できます。main.rsWindowsなら、こうなります。main.rs2つのファイルがあるといっています。ファイルを、このように実行するだけです。ターミナルに印字することでしょう。RubyやPython、JavaScriptなどの動的な言語から来たのなら、コンパイルと実行が別の手順になっていることに馴れないかもしれません。渡したら(それぞれ)Ruby、PythonあるいはJavaScriptの実装が必要になりますが、コンパイルにも実行にも1つのコマンドで事足ります。全ては言語設計上のトレードオフです。コンパイルすれば十分ですが、プロジェクトが大きくなるにつれて、プロジェクトの全てのオプションを管理したり、コードを他の人やプロジェクトと容易に共有できるようにしたくなるでしょう。次は現実世界のRustプログラムを書く手助けになる、Cargoというツールを紹介します。Cargo!CargoはRustのビルドシステムであり、パッケージマネージャであり、RustaceanはCargoをRustプロジェクトの管理にも使います。Cargoは3つのものを管理します。それは、コードのビルド、コードが依存するライブラリのダウンロード、それらのライブラリのビルドです。あなたのコードが必要とするライブラリを、「依存(dependencies)」と呼びます。コードがそれに依存しているからです。簡単なRustのプログラムは依存を持たないので、ここではCargoの1つ目の機能だけを使います。複雑なRustのコードを書くにつれて、依存を追加したくなるでしょうが、Cargoを使えばそれがとても簡単にできます。ほとんどのRustのプロジェクトがCargoを使うので、本書でもこれ以降はCargoを使うことを前提とします。公式のインストーラを使ったなら、CargoはRustに同梱されています。他の手段でRustをインストールしたなら、ターミナルで以下のコマンドを打てば、Cargoがインストールされているか確認できます。--versionバージョン番号が表示されれば大丈夫です。」などのエラーが出たなら、Rustをインストールしたシステムのドキュメントを見て、Cargoが別になっているか調べましょう。WorldプログラムをCargoに変換しましょう。プロジェクトをCargo化するには3つのことをする必要があります。ディレクトリに移動し、次のコマンドを打ちます。ディレクトリにあることを要求するので、まずそうしましょう。hello_world)直下に残したままになります。このように、Cargoを使うことで、プロジェクトを綺麗に整頓された状態を保てます。すべてのものには場所があり、すべてが自身の場所に収まります。コンパイルして作ったファイルを削除します。名前を引き続き使います。いう名前にすることになります。この規約はCargoでプロジェクトを正しくコンパイルするのに使われていますが、必要なら変更できます。ディレクトリ下にファイルを作ります。大文字になっていることを確認しましょう。しないとCargoが設定ファイルだと認識してくれません。フォーマットで書かれます。TOMLはINIに似ていますが、いくつかの素晴しい機能が追加されており、Cargoの設定フォーマットとして使われています。ファイル内に以下の情報を打ち込みます。下に続く記述がパッケージの設定であることを示します。さらなる情報をこのファイルに追加する時には、他のセクションを追加することになりますが、今のところパッケージの設定しかしていません。残りの3行はCargoがプログラムをコンパイルする時に必要な情報です。プログラムの名前、バージョン、そして著者です。ファイルに追加し終わったら、保存して設定ファイルの作成は終了です。以下のコマンドを入力しましょう。ターミナルに印字されるはずです。一発でそれらを実行できます。world!今度はプロジェクトがビルドされなかったことに注意してください。Cargoはファイルが変更されていないことが分かるので、バイナリの実行だけを行います。ソースコードを修正していたら、Cargoは実行する前にプロジェクトを再度ビルドし、あなたはこのようなものを目にしたことでしょう。world!Cargoはプロジェクトのファイルのどれかが変更されていないか確認し、最後のビルドから変更されたファイルがあるときにだけプロジェクトを再度ビルドします。使うのとさほど変わないかもしれません。将来において役に立つでしょう。クレートを使い始めた時によく当て嵌ります。クレートは、他の言語で「ライブラリ」や「パッケージ」と呼ばれているものと同じです。複数のクレートで構成された複雑なプロジェクトでは、Cargoにビルドを任せた方がとても簡単になります。実行するだけで正しく動いてくれます。使うことで、最適化をかけてプロジェクトをコンパイルできます。最適化することで、Rustのコードは速くなりますが、コンパイル時間は長くなります。このような理由から、開発の時用と、ユーザへ配布する最終版プログラムを作る時用の、2つのプロファイルが存在するのです。いう新しいファイルもできます。中身はこのようになっています。アプリケーションの依存を追跡します。このプロジェクトは依存を持たないので、ファイルの中身はほとんどありません。実際には自身でこのファイルに触ることはありません。Cargoに任せてしまいます。ビルドする所までできたはずです。このプロジェクトはとてもシンプルですが、これからRustを使っていく上で実際に使うことになるツール類を色々使っています。実際、事実上全てのRustプロジェクトに取り掛かる際に、以下のようなコマンドを使うことになります。Cargoを使って、即座に開発を始められる骨組だけのプロジェクトを素早く作ることができます。コマンドラインに入力します。