# Turing.Instruction class

Namespace: [Grasshopper2](https://developer.rhino3d.com/api/gh2/namespace/grasshopper2.md) · Assembly: [Grasshopper2](https://developer.rhino3d.com/api/gh2/assembly/grasshopper2.md)

```cs
public sealed class Turing.Instruction
```

Represents a single instruction in a two-dimensional Turing machine.

## Constructors

- [Turing.Instruction](https://developer.rhino3d.com/api/gh2/type/grasshopper2.turing.instruction/ctor.md): Create a new turing instruction.

## Properties

- [FieldIn](https://developer.rhino3d.com/api/gh2/type/grasshopper2.turing.instruction/fieldin.md): Gets the filter string for field content. This may be a straight up name, or a wildcard expression.
- [FieldOut](https://developer.rhino3d.com/api/gh2/type/grasshopper2.turing.instruction/fieldout.md): Gets the name to assign to the cell. If null, it indicates the cell content is to be left unmolested.
- [HorizontalMovement](https://developer.rhino3d.com/api/gh2/type/grasshopper2.turing.instruction/horizontalmovement.md): Gets the horizontal movement of the caret upon completion of this instruction.
- [IsFieldModifier](https://developer.rhino3d.com/api/gh2/type/grasshopper2.turing.instruction/isfieldmodifier.md): Gets whether this instruction changes the value of the field.
- [IsFieldWildcard](https://developer.rhino3d.com/api/gh2/type/grasshopper2.turing.instruction/isfieldwildcard.md): Gets whether the field filter has wildcards.
- [IsStateModifier](https://developer.rhino3d.com/api/gh2/type/grasshopper2.turing.instruction/isstatemodifier.md): Gets whether this instruction changes the value of the state.
- [IsStateWildcard](https://developer.rhino3d.com/api/gh2/type/grasshopper2.turing.instruction/isstatewildcard.md): Gets whether the state filter has wildcards.
- [IsTerminal](https://developer.rhino3d.com/api/gh2/type/grasshopper2.turing.instruction/isterminal.md): Gets whether this instruction represents the final one, after which there will be no more changes to the sheet. A terminal instruction has zero movement and leaves both the state and the current field intact.
- [StateIn](https://developer.rhino3d.com/api/gh2/type/grasshopper2.turing.instruction/statein.md): Gets the filter string for states. This can be a straight up name, or a wildcard expression.
- [StateOut](https://developer.rhino3d.com/api/gh2/type/grasshopper2.turing.instruction/stateout.md): Gets the name of the state the machine is left in after this instruction completes. If null, it indicates the state is to be left unmolested.
- [VerticalMovement](https://developer.rhino3d.com/api/gh2/type/grasshopper2.turing.instruction/verticalmovement.md): Gets the vertical movement of the caret upon completion of this instruction.

## Methods

- [CreateTerminalInstruction](https://developer.rhino3d.com/api/gh2/type/grasshopper2.turing.instruction/createterminalinstruction.md): (static) Create a terminating instruction.
- [MatchesField](https://developer.rhino3d.com/api/gh2/type/grasshopper2.turing.instruction/matchesfield.md): Gets whether this instruction matches the given field.
- [MatchesState](https://developer.rhino3d.com/api/gh2/type/grasshopper2.turing.instruction/matchesstate.md): Gets whether this instruction matches the given state.
- [Parse](https://developer.rhino3d.com/api/gh2/type/grasshopper2.turing.instruction/parse.md): (static) Try to parse a turing instruction from a descriptive string.
- [ToString](https://developer.rhino3d.com/api/gh2/type/grasshopper2.turing.instruction/tostring.md): Create a string representation of this instruction.
- [TryParse](https://developer.rhino3d.com/api/gh2/type/grasshopper2.turing.instruction/tryparse.md): (static) Try to parse a turing instruction from a descriptive string.

## Convertors

- [operator implicit](https://developer.rhino3d.com/api/gh2/type/grasshopper2.turing.instruction/op-implicit.md): (static) Convert a valid description into an instruction.
