Что Something получает (fn something): Option ; значит в Rust? - PullRequest
1 голос
/ 06 августа 2020

Я клонировал этот шаблон . Вот такой код:

decl_storage! {
    trait Store for Module<T: Trait> as TemplateModule {
        Something get(fn something): Option<u32>;
    }
}

Что означает Something get(fn something): Option<u32>;? Особенно что за Something перед get(fn something)?

1 Ответ

1 голос
/ 06 августа 2020

По-видимому, этот макрос принимает собственный синтаксис, как описано в https://substrate.dev/rustdocs/v2.0.0-rc5/frame_support/macro.decl_storage.html:

Basi c хранилище может быть расширено как таковое:

# vis #name get (fn #getter) config (#field_name) build (#closure): #type = #default;

  • # vis: установить видимость структуры. pub или ничего.
  • # name: Имя элемента хранилища, используемое в качестве префикса в хранилище.
  • [необязательно] get (fn #getter): Реализует функцию #getter для Module.
  • [необязательный] config (#field_name): field_name необязательно, если установлено get. Включит элемент в GenesisConfig.
  • [необязательно] build (#closure): закрытие, вызываемое с помощью оверлеев хранилища.
  • # type: Тип хранилища.
  • [необязательно] # по умолчанию: значение возвращается, если его нет.

Итак, в вашем Something это имя элемента хранилища, используемое в качестве префикса в хранилище.

...