「it」について

変数itは、SenseTalkにおいて特別な役割を果たします。値が与えられたり使用されたりしているのに、特定の変数名が指定されていないという状況は多々あります。こうした状況では、自動的にSenseTalkが値の格納場所としてローカル変数itを利用します。ほとんどの場合、この特別な役割は非常に利便性が高く、英語に似た自然なスクリプトを実現します。ただし、itの値は多種多様なコマンドによって変更される可能性があるため、非常に長い間itに同一の値が保持されるとは考えないよう注意が必要です。

参考のため、itの値を変更するコマンドと構文要素を以下に挙げます。次のコマンドは、値を返す通常の方法として、itの値を必ず設定します。

  • answer
  • ask
  • get
  • post
  • read

次のコマンドは、使われ方によってはitの値を設定することもあります。一般に、次の各コマンドに渡される値がコンテナ(変数など)であれば、そのコンテナの中身が直接変更されます。渡される値がコンテナでないもの(リテラル値や式など)であれば、it内に結果が返されます。

  • convert
  • join
  • replace
  • sort
  • split

さらに、repeat with eachコマンドでは、特定のループ変数を与えないときの最もシンプルな形においてitを使用します。

repeat with each...(変数を与えない場合)

ここに挙げたいずれかのコマンドによってitの値が暗に設定されるときは、参照ではなく通常の変数として設定されます。itがそれまで参照だった場合、参照先コンテナとの結び付きは、設定前に解除されます。

 

This topic was last updated on 2月 01, 2019, at 11:13:23 午前.

Eggplant icon Eggplant.io | Documentation Home | User Forums | Support | Copyright © 2019 Eggplant