パラメーターと引数
コンパイル時の値と実行時の値を区別します
「パラメーターと引数」はCoddyKit上の無料Mojo Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはMojo Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Mojo Academyコースには全4レッスンが含まれています。
2 種類の入力
Mojo の関数は 2 種類の入力を受け取れます。コンパイル時に決まるパラメーターと、実行時に決まる引数です。この違いを知ることが重要です。
引数は実行時に存在する
引数は、プログラムの実行時に渡す通常の値です。実際の数値は、関数を呼び出すたびに変わる可能性があります。
fn square(x: Int) -> Int:
return x * xパラメーターはコンパイル時に存在する
パラメーターは、プログラムの実行前にコンパイラーがすでに認識している値です。固定され、生成されたコードに直接組み込まれます。⚙️
角かっこと丸かっこ
Mojo では見た目にも区別されます。パラメーターは角かっこに入れ、引数は使い慣れた丸かっこに入れます。
fn repeat[count: Int](msg: String):
print(msg)シグネチャを読み取る
repeat[count: Int](msg: String) では、count はコンパイル時に設定され、msg は実際に呼び出すときに後から渡されます。
コンパイル時とはより早い段階
コンパイル時とは、Mojo がコードを変換するタイミングであり、実行よりずっと前の段階です。パラメーターはこの早い段階で決まります。
分ける理由
コンパイル時の値と実行時の値を分離すると、実行時にはできない方法でコンパイラーがコードを特殊化・最適化できます。
パラメーターを渡す
呼び出し箇所でパラメーターを角かっこに入れて指定します。引数はその直後の丸かっこに入れて渡します。
repeat[3]("hi")パラメーターは既知でなければならない
パラメーターの値はコンパイル時定数でなければなりません。プログラムの実行中に計算した数値を渡すことはできません。
おなじみの例
組み込みのSIMD型は、要素型と幅をパラメーターとして受け取り、その内部に実行時の値として実数を保持します。
var v = SIMD[DType.int32, 4](1, 2, 3, 4)メンタルモデル
2 つのスロットを思い浮かべてください。角かっこのスロットはコンパイル時の情報、丸かっこのスロットは実行時のデータ用です。Mojo は両者を大きく異なるものとして扱います。
簡単な確認
Mojo におけるパラメーターと引数の違いを説明してください。
まとめ
違いを学びました。パラメーターは角かっこに入れるコンパイル時の値で、引数は丸かっこに入れる実行時の値です。この分離が Mojo の速度を支えます。🎯
AI チューターと学ぶ Mojo — 無料
ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。
- コース
- 30
- レッスン
- 120
よくある質問
「パラメーターと引数」レッスンは無料ですか?
はい。「パラメーターと引数」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Mojo Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Mojo Academyコースには全4レッスンが含まれています。
「パラメーターと引数」で何を学びますか?
コンパイル時の値と実行時の値を区別します ブラウザで直接実行するハンズオンコードでMojo Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Mojo Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのMojo Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「パラメーターと引数」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このMojo Academyレッスンでコードを書いて実行できますか?
はい。すべてのMojo Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。