ifelse1.0

ifelse boolean1 [ commands1 ] [ elsecommands ] (ifelse boolean1 [ commands1 ] boolean2 [ commands2 ] ... [ elsecommands ])6.1

For the first boolean that reports true, runs the commands that follow.

If no boolean reports true, runs elsecommands or does nothing if elsecommands is not given. When using only one boolean you do not need to surround the entire ifelse primitive and its blocks in parentheses.

If a boolean reports a value other than true or false a runtime error will occur.

ask patches
  [ ifelse pxcor > 0
      [ set pcolor blue ]
      [ set pcolor red ] ]
;; the left half of the world turns red and
;; the right half turns blue

The reporters may report a different value for different agents, so some agents may run different command blocks. When using more than one boolean you must surround the whole ifelse primitive and its blocks in parentheses. This functionality was added in NetLogo 6.1.

ask patches [
  let choice random 4
  (ifelse
    choice = 0 [
      set pcolor red
      set plabel "r"
    ]
    choice = 1 [
      set pcolor blue
      set plabel "b"
    ]
    choice = 2 [
      set pcolor green
      set plabel "g"
    ]
    ; elsecommands
    [
      set pcolor yellow
      set plabel "y"
  ])
]

See also if, ifelse-value.

Take me to the full NetLogo Dictionary