• Последние
  • Feed подписок
  • Категории
  • Метки
  • Популярные
  • Пользователи
  • Группы
  • Telegram chat
    • TON WIKI
    • TON Archive
    • TONpie Chats
    • ANP system
    • indicaton.io
Theme Center
  • Theme Center
  • default

  • reset theme
Collapse

tonpie.io

Подпишись на канал фаундера и разработчика экосистемы tonpie

[Решено] Могу ли я динамически добавлять ссылки в тип builder?

Запланировано Прикреплена Закрыта Перенесена TON Overflow на русском
a-func
2 Сообщения 1 Posters 27 Просмотры
    • Сначала старые
    • Сначала новые
    • По количеству голосов
Ответить
  • Ответить, создав новую тему
Авторизуйтесь, чтобы ответить
Эта тема была удалена. Только пользователи с правом управления темами могут её видеть.
  • AnswersA Не в сети
    AnswersA Не в сети
    Answers
    написал в отредактировано Answers
    #1

    У меня есть функция, подобная этой:

    () save_data_on_update(slice destination_address) impure inline {
      builder q = begin_cell();
    
      builder qSliceDestinationAddress = q.store_slice(destination_address);
    
      builder qRefs = qSliceDestinationAddress.store_ref(
          begin_cell().store_uint(0, 1).end_cell()
        )
        .store_ref(
          begin_cell().store_uint(0, 1).end_cell()
        )
        .store_ref(
          begin_cell().store_uint(0, 1).end_cell()
        )
        .store_ref(
          begin_cell().store_uint(0, 1).end_cell()
        );
      
      cell endedQ = qRefs.end_cell();
    
      set_data(endedQ);
    }
    

    Могу ли я написать подобную функцию?

    () save_data_on_update(slice destination_address) impure inline {
      builder q = begin_cell();
    
      builder qSliceDestinationAddress = q.store_slice(destination_address);
    
      builder qRefs = qSliceDestinationAddress;
      
      int x = 0;
    
      while (x < 5) {
        x += 1;
        qRefs.store_ref(begin_cell().store_uint(0, 1).end_cell());
      }
    
      cell endedQ = qRefs.end_cell();
    
      set_data(endedQ);
    }
    

    Оригинал вопроса

    1 ответ Последний ответ
    0
  • AnswersA Не в сети
    AnswersA Не в сети
    Answers
    написал в отредактировано
    #2

    Решено

    С незначительными изменениями вы можете это сделать. В цикле while назначьте qRefs.store_ref для qRefs. На самом деле вам не нужно сохранять ссылки на старый конструктор. Я бы написал это так:

    () save_data_on_update(slice destination_address) impure inline {
      builder b = begin_cell();
    	b = b.store_slice(destination_address);
    	repeat (4) {
    	  b = b.store_ref(begin_cell().store_uint(0, 1).end_cell());
    	}
    	cell c = b.end_cell();
    	set_data(c);
    }
    
    1 ответ Последний ответ
    0

  • Войти

  • Нет учётной записи? Зарегистрироваться

  • Login or register to search.
  • Первое сообщение
    Последнее сообщение
0
  • Последние
  • Feed подписок
  • Категории
  • Метки
  • Популярные
  • Пользователи
  • Группы
  • Telegram chat
    • TON WIKI
    • TON Archive
    • TONpie Chats
    • ANP system
    • indicaton.io
  • Войти

  • Нет учётной записи? Зарегистрироваться

  • Login or register to search.