Logix:インパルスの分割

From Neos Wiki
Revision as of 15:15, 7 November 2022 by Aesc (talk | contribs) (Created page with "しかし、インパルス連鎖を複数のチェーンに分割するノードもあり、この場合、新しい連鎖は異なるコンテキストで発生します。...")
Jump to navigation Jump to search
Other languages:
English • ‎日本語

LogiXの連鎖が複数のインパルスノードで構成されている場合、これらのノードは通常、同じ内部コンテキスト内で順番に実行されます。

例えば、次の画像では、3つの書き込みが順番に発生するようになっています。

ImpulseSplitting Writes.png

しかし、インパルス連鎖を複数のチェーンに分割するノードもあり、この場合、新しい連鎖は異なるコンテキストで発生します。その最たるものがSequenceノードで、インパルス連鎖を任意の数の他の連鎖に分割します。

ImpulseSplitting Sequence.png

Effects of Splitting

When a split occurs the following things may happen depending on the nodes being used around this split:

  • Temporary / Transient values will be unusable after the split E.g.:
    • The values coming out of Dynamic Impulse with Value nodes
    • The values coming out of HTTP or Web Socket Nodes
    • The Slot coming out of a Duplicate Slot node
  • Values which change or update may be different then expected:
    • The iteration value of a For loop node
    • Any values which change over time such as those which rely on T or a user's location

Nodes which cause splits

Here's a list of nodes which will cause a split:

  • Sequence
  • Delay / Delay with Value
  • Updates Delay / Updates Delay with Value
  • For & While
  • Pulse Random

There may be others, please update this list if you find more

Mitigating issues involved in Splitting

If you need to use values or items that change after splitting you can:

  • Use Updates Delay with Value or Delay with value to preserve a value through a Delay.
  • Use Value Register/Storage nodes to persist a value.