ファイルとファイルシステムのローカルとグローバルプロパティ
ここで説明するローカルプロパティとグローバルプロパティは、SenseTalkスクリプトがファイルやファイルシステムオブジェクトにアクセスしたり、それらと対話したりする方法に影響します。SenseTalkでファイルやファイルシステムを操作するための追加情報については、File and Folder ReferencesとFile and Folder Interactionを参照してください。
ローカルプロパティとグローバルプロパティの値を設定または変更する:
SenseTalkのコマンド Set
または Put
を使用してグローバルプロパティの値を設定できます。これらのプロパティを参照するときは、通常の変数と区別するためにプロパティ名の前に the
を使用しなければなりません。
例:
set the searchrectangle to [1,2,2,3]
put 2 into the remoteworkinterval
このようにしてグローバルプロパティ内の特定の名前付きプロパティを追加または変更できます:
set the namedColors.pink to color("RGB,1.0,0.5,0.5") -- Adds pink to the namedColors global property and defines its RGB color value
set the listFormat's separator to " & " -- Sets the separator property of the listFormat global property
プロパティは、setoption
または setoptions
コマンドを使用して設定または更新することもできます。setoption
コマンドでは一つのプロパティを更新でき、setoptions
コマンドでは複数のプロパティを更新できます。
例:
setoption searchrectangle, [1,2,2,3]
setoptions {searchrectangle: [1,2,2,3], scriptlogging: yes}
setoption
および setoptions
は、グローバルプロパティおよびローカルプロパティの使用に特化しているため、これらのコマンドのコマンド構文でプロパティ名から the
を省略します。
ローカルプロパティとグローバルプロパティの操作についての追加情報については、SenseTalkのローカルプロパティとグローバルプロパティを参照してください。
the folder
, the directory
Global Properties
値: 現在の作業ディレクトリのパス
デフォルト: 典型的にはドキュメントフォルダへのパスですが、この値はプリファレンスのGeneralセクションのDefault Suite Directory設定を更新することで変更可能です。
振る舞い: このプロパティを使用すると、現在の作業フォルダにアクセスしたり、その値を変更したりできます。the folder
によって返される値は、the folderNamesEndWithSlash
グローバルプロパティがfalseに設定されていない限り、スラッシュで終わります。この最後のスラッシュは、以下の例に示すように、ファイル名を追加することでフルパス名を簡単に作成できるようにします。
SenseTalkスクリプト内では、folder
とdirectory
は同じ意味で使用されます。スクリプト中でfolder
という語が使用されている場所では、代わりにdirectory
という語を使用できます。
例:
set the directory to "C:\Users\Carrie\Desktop\"
例:
set the folder to "C:\Users\Carrie\Desktop\"
例:
set the directory to "C:\Users\Carrie\Desktop\data\"
put the files of the folder into fileObjects // Returns a list of the file objects for any files in the current working directory and stores them in a variable
例:
set the folderNamesEndWithSlash to false
put the folder & "\newfile.txt" into filepath // Concatenates the / to create a valid path, because the / is not returned by the folder function
put "xyz" into file filepath
関連情報:
* `the folderNamesEndWithSlash`
folder
,directory
Functions
the folder
, the directory
グローバルプロパティ
値: True
, False
デフォルト: True
振る舞い: このプロパティは、フォルダ名またはディレクトリ名が最後にスラッシュ付きで返されるかどうかを決定します。このプロパティは、the folder
およびthe directory
グローバルプロパティと、ディレクトリパスを返す各種のSenseTalkコマンドおよび関数に適用されます。 例:
例:
set the folderNamesEndWithSlash to false
例:
log the folder // Logs the current working directory with a slash at the end. For example: 'C:/Users/Carrie/Documents/'
set the folderNamesEndWithSlash to false
log the folder // Logs the current working directory without a slash at the end. For example: 'C:/Users/Carrie/Documents'
例:
set the folderNamesEndWithSlash to false
put the folder & "newfile.txt" into filePath
put "xyz" into file filePath
関連項目:
the strictFiles
グローバルプロパティ
値: True
, False
デフォルト: False
振る舞い: このプロパティは、ランタイム中のファイル使用に対するより厳密な制御を提供するために使用できます。このプロパティがTrue
に設定されている場合、存在しないファイルをコンテナとして読み取ると、例外がスローされ、空を返すのではありません。
False
に設定されている場合、存在しないファイルからの読み 取りは、そのファイルが空であるかのように値を返します。この動作は、場合によっては予期しない結果をもたらすことがあります。例えば、ファイル名が間違って入力された場合、スクリプトはそれを空として扱い、ファイルが見つからないというエラーを出すのではなく。
例:
set the strictFiles to true
例:
set the StrictFiles to true
put file "C/Desktopmyfile.txt" into myData // Throws exception: StrictFilesViolation Attempt to read nonexistent file: C:/Users/Carrie/Documents/C/Desktopmyfile.txt'
関連情報:
the strictProperties
the strictVariables
the defaultStringEncoding
グローバルプロパティ
値: 現在の文字列エンコーディング方法。利用可能な値の全リストを見るには、the availableStringEncodings()
関数を使用します:
put availableStringEncodings()