問題一覧に戻る
中級Move開発
問題 22: 構造体のアビリティ
Moveにおける構造体のアビリティについて学びます。アビリティは構造体インスタンスに対して実行できる操作を定義します。'key'アビリティは構造体を所有・転送可能なSuiオブジェクトとして使用できるようにします。'store'アビリティは構造体を他の構造体内に格納したり、自由に転送したりできるようにします。
module my_first_package::example;
// Part 1: These imports are provided by default
// use sui::object::{Self, UID};
// use sui::transfer;
// use sui::tx_context::{Self, TxContext};
// Part 2: struct definitions
// Swordはアドレス間で転送でき、他のオブジェクトに格納できます
public struct Sword has , {
id: UID,
magic: u64,
strength: u64,
}
// Forgeはアドレス間で転送できますが、他のオブジェクトには格納できません
public struct Forge has {
id: UID,
swords_created: u64,
}