Hello World / plɹoM ollǝH

Programmers Live in Vain

Node Graph Architecture

Substance Designer www.youtube.com

巷で流行りの設計。

Python

入出力が定義された各ノードを連結してグラフを作成し、グラフの値がほしいときにノードを辿って必要な解決をおこなう。

# conding: utf-8

# 値を保持するだけのノード
class Value:
    def __init__(self, in_value):
        self.value = in_value

    def __call__(self):
        return self.value

# 加算ノード
class Add:
    def __init__(self, in_x, in_y):
        self.x = in_x
        self.y = in_y

    def __call__(self):
        return self.x() + self.y()

# 値
a = Value('月日は')
b = Value('百代の過客にして')
c = Value('行かふ年も')
d = Value('又旅人也')

# ノードを繋いでグラフを作成する
ab = Add(a, b)
cd = Add(c, d)
abcd = Add(ab, cd)

# ここで初めて演算が実行される
print(abcd())

実行するとグラフの演算がおこなわれ、結果が出力される。

月日は百代の過客にして行かふ年も又旅人也