Vyper

【Vyper】第2章第3回:関数の定義と呼び出し:基本的な書き方

本記事では、Vyperにおける関数の定義方法と呼び出し方について詳しく解説します。関数を活用することで、コードの再利用性を高め、スマートコントラクトの設計をより効率的に行うことができます。

0. 記事の概要

この記事を読むメリット

  • Vyperの関数の基本構文を理解できる
  • 関数を定義し、適切に呼び出す方法を学べる
  • スマートコントラクトの保守性を向上させる手法を習得できる

1. 関数の基本

1.1 関数の定義


        @public
        def add(a: int128, b: int128) -> int128:
            return a + b
        

動作解説

  • @public 関数を公開し、外部から呼び出せるようにする
  • def add(a: int128, b: int128) -> int128: 関数の定義。2つの整数を受け取り、整数を返す
  • return a + b aとbを加算し、結果を返す

1.2 関数の呼び出し


        @public
        def calculate() -> int128:
            return self.add(10, 20)
        

動作解説

  • self.add(10, 20) 事前に定義したadd関数を呼び出し、引数10と20を渡す
  • return 関数の実行結果を返す

2. 複数の関数を活用

2.1 関数の連携


        @public
        def multiply(a: int128, b: int128) -> int128:
            return a * b

        @public
        def calculate_extended() -> int128:
            return self.multiply(self.add(5, 5), 2)
        

動作解説

  • self.add(5, 5) まずadd関数を呼び出し、5 + 5を計算
  • self.multiply(…, 2) multiply関数に結果を渡し、2倍する
  • return 最終的な計算結果を返す

3. 練習問題

3.1 練習問題

以下の課題に挑戦してください。

  • 3つの引数を受け取り、最大値を返す関数を作成する
  • 別の関数を呼び出して処理を組み合わせる関数を作成する

4. まとめ

本記事では、Vyperにおける関数の基本的な使い方と応用について学びました。関数を活用し、再利用性の高いスマートコントラクトを実装しましょう。