Move言語

Libra

(日本語訳) Chain Castle – Lesson 3 Chapter 5

Chapter 5 ファイル分割 ここにきて、ファイルがどんどん長くなってきていることにお気づきかと思います。そのため、効果的な管理や読みやすさ改善のため、複数のファイルに分割した方が良さそうです。 このチャプタでは、右のコードをクリーンアップします。ご覧の通り、エディターの上部にもう少しタブがあります。そして、各タブをクリックしてファイルを切り替えることができます。 上の様に、タブはアクティブな...
Libra

(日本語訳) Chain Castle – Lesson 3 Chapter 4

Chapter 4 リソースの使い方 リソースが作られて、それを使える様になりました。 リソースの使い方は、それを使った後には破棄することになっているということを除いて、構造体とほぼ同じです。 このチャプタでは、リソースは現在のトランザクションスクリプトでのみ使われて、当面どのアドレスにも送られないものとします。これはリソースがmain()の後で破棄されなければならないことを意味しています。 次に...
Libra

(日本語訳) Chain Castle – Lesson 3 Chapter 3

Chapter 3 リソースの破棄 Move言語にはガーベッジコレクション機構がないので、スマートコントラクト内で宣言してクリエイトした、リソースのライフサイクルはコントラクトの消滅の最後まで続きます。そのため、リソースはリソースが生成されたモジュールの中でUnapckにより破棄されなければなりません。 特定のリソースをブロックチェーン内に保存しておきたいケースでは、それをブロックチェーンのアドレ...
スポンサーリンク
Libra

(日本語訳) Chain Castle – Lesson 3 Chapter 2

Chapter 2 リソースの生成 リソースを使うために、私たちはその戻り値がリソースであるような、リソース生成のプロシージャを実装する必要があります。 例えば、下のコードは、前のレッスンでも言及した、値が0のvalueを持つリソース変数Tを生成するLibraCoinのプロシージャです。 resource T { value: u64, } public zero(): Self....
Libra

(日本語訳) Chain Castle – Lesson 3 Chapter 1

Chapter 1 リソース 既存のブロックチェーンシステムにおいて、ビットコインは「通貨」をプログラムし、イーサリアムは「アプリケーション」をプログラムします。対して、LibraはResource(リソース)と名付けられた、通貨よりももっと複雑なアセットをプログラムします。 Moveはリソースへの操作を次の二つの制約に添う様に規制します。 希少性(scarcity):リソースのトータル量はユー...
Libra

(日本語訳) Chain Castle – Lesson 2 Chapter 6

Chapter 6 城の設計を完了する チャプタ3で、どうやって構造体を定義するか学びました。ここでは、構造体をどうやって初期化するかmain()プロシージャでどの様に使っていくかについて学んでいきましょう。 次の図の様に、構造体を初期化するためのプロシージャを作ることがあります。このプロシージャは、同じモジュールで宣言されて初期化される必要があります。構造体を初期化するために使われるプロシージャ...
Libra

(日本語訳) Chain Castle – Lesson 2 Chapter 5

Chapter 5 複数の戻り値があるプロシージャ チャプタ5では、プロシージャについて説明し、一つの戻り値があるプロシージャの使い方を示しました。しかし、多くのシナリオでは、この章で説明する様な複数の戻り値があるプロシージャを使う必要があります。 チャプタ5では、一つの戻り値があるプロシージャを次の様に定義しました。 public procedure name( parameter name 1...
Libra

(日本語訳) Chain Castle – Lesson 2 Chapter 3

Chapter 3 構造体 ムーブの構造体は他の言語の構造体と同じ様に、同じ型か異なる型のデータのコレクションからなるデータセットです。struct name{data: type, data:type, …}という形で構造体を定義できます。例えば… module Test { // 空のstruct struct Empty1 { } // 二つのメンバーのあるstruct st...
Libra

(日本語訳) Chain Castle – Lesson 2 Chapter 2

Chapter 2 プログラムの構造 他の言語と似た様に、Moveは選択やループの様な一般的なプログラム構造を持っています。 次のようなルールのif-else構文を使って単純な選択構造を実装できます。 もしステートメントが一つだったとしても、分岐構文はブレース({})で括る必要があります。次の例は間違いです。 main() { let x: u64; if (true) x = 3...
Libra

(日本語訳) Chain Castle – Lesson 2 Chapter 1

Chapter 1 所有権 所有権の使用例 前のチャプタで、バインディングというワードに言及しました。実際には、このワードは「所有権のバインディング」を指します。ある識別子がある値の所有権を持っている場合に限って、私たちはこの識別子を通して値にアクセスできます。 値を名前(識別子)にバインディングするとき、この値(リソース)の所有権を識別子にバインドしています。例えば… let x: u64; x...
スポンサーリンク
タイトルとURLをコピーしました