🗂

[Astar]コントラクト備忘録④( 配列内の要素の加算)

2023/02/23に公開

こちらの知見がたまったので、備忘録として残します。

1 概要

  1. 配列内の要素を取り出し、加算を行う

2 内容

こちらのメッセージを作成しました。


// add the array element to the increment_number
        #[ink(message)]
        pub fn add_array(&mut self) {
            let array = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
            for element in &array {
                self.number += element;
            }
        }

ちなみに、「&」は参照です。

参照を使うことで、配列の実際の要素は変更されず、安全にアクセスできます。

ちなみに、ここではイテレータが使われていますが、イテレータが使われないと、このようになってしまいます。


chatGPT

いくつループを回すのか、どの要素にアクセスするのかを明示的に示す必要があり、冗長になり、意図しないバグが起こる可能性も出てきてしまいます。

shibuyaにデプロイ

WwGnpEKSHPzVKxn5rrzYLLNeVGfYbqUxVgD4Ga3wErKxSsi

以上です。

Discussion