値を操作するためのローカルおよびグローバルプロパティ
ここで説明するSenseTalkのグローバルプロパティとローカルプロパティは、さまざまな値の書式設定や一種類から別の種類への変換(例えば、データをテキストに変換する)の方法に影響します。
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 numberFormat
ローカルプロパティ, the defaultNumberFormat
グローバルプロパティ
値: 0と/または#の組み合わせと、オプションで小数点からなる文字列です。小数点の左側の0は、数値に値がない場合に0で埋められる数値の位を示します。小数点の右側に#を使用して、値がある場合にのみ小数位を表示します。値があるかどうかに関わらず小数位を表示するには0を使用します。
デフォルト:
the numberFormat
の場合:the defaultNumberFormat
グローバルプロパティの現在の値the defaultNumberFormat
の場合:0.######
動作: これらのプロパティを使用して、使用する小数位の数と、数値(数学的な操作の結果など)がテキスト表現に変換されるときに表示する先頭と末尾のゼロの数を指定します。
the numberFormat
プロパティは各ハンドラにローカルです。一つのハンドラでその値を設定しても、そのハンドラから呼び出される他のハンドラの値には影響しません。各ハンドラが実行を開始すると、そのハンドラのthe numberFormat
は最初にthe defaultNumberFormat
グローバルプロパティの値に設定されます。グローバルプロパティであるthe defaultNumberFormat
は最初に0.######に設定されていますが、必要に応じて変更することができます。
特別なフォーマット
以下の特別な値のいずれかにthe numberFormat
を設定することもできます:
hexadecimal
またはhex
: 数値を16進数形式で表示します。octal
: 数字を8進数形式で表示します。binary
: 数字を2進数形式で表示します。words
、Words
、またはWORDS
: 対応する大文字小文字の形式で数字を単語として表示します。
表示する最小の桁数を設定したい場合は、"binary 16"のように、特殊な値に続けて数値を入れてください。必要に応じて、先頭にゼロが追加されて、最小の長さが確保されます。
例:
set the numberFormat to "#.###" -- 小数点以下3桁まで
例:
set the numberFormat to "0.00" -- 常に小数点以下2桁
例:
set the numberFormat to "00.##"
put 3.41 -- 03.41 を表示
例:
set the numberFormat to "00.###"
put 3.41 -- 03.41 を表示
例:
set the defaultNumberFormat to "0.000"
put 3.41 -- 3.410 を表示
例:
set the defaultNumberFormat to "0"
put 3.41 -- 3 を表示
例:
set formatExpression to "0.000"
get the numberFormat
log it // '0.######' を表示
set the numberFormat to formatExpression
get the numberFormat
log it // '0.000' を表示
例:
set the numberFormat to "hex 4" // 4桁の16進数として数値を表示
put 13 —> 0x000D
set the numberFormat to "octal"
put 13 —> 0o15
set the numberFormat to "binary8"
put 13 —>0b00001101
set the numberFormat to "Words"
put 127 —>One Hundred Twenty-Seven
the defaultQuoteFormat
グローバルプロパティ
値: None
(または空)は引用なしを表します。Standard
は標準的な引用を表します。それ以外の文字列または2つの文字列のリストも使用可能です。
デフォルト: None
動作: the listFormat
およびthe propertyListFormat
グローバルプロパティは、それらのコンテナがテキストに変換されるときに値がどのように引用されるかを指定するオプションのquotes
値を含みます。 the defaultQuoteFormat
グローバルプロパティは、これらのquotes
値が指定されていないとき(これはリストのデフォルトケースであり、プロパティリストの場合はない)の引用動作を提供します。
これらの引用 プロパティの値は、引用なしのための空またはNone、標準的な引用のためのStandard、または他の任意の文字列または2つの文字列のリストにすることができます。2つの文字列のリストを提供すると、それらは開始引用と終了引用(値の前後)として使用されます。単一の文字列を提供すると、それは開始引用と終了引用の両方として使用されます。
標準的な引用は、値の内容に応じて直接ダブルクォート文字(") またはダブル角括弧(<<
,>>
) を自動的に選択します。値が引用されるときはいつでも、最終的な引用文字列またはリターン文字を含む任意の値は自動的に適切な値を生成する有効なSenseTalk表現に変換されます。
例:
set the defaultQuoteFormat to "#"
put (1,2,3,4) -- (#1#,#2#,#3#,#4#)
例:
set the defaultQuoteFormat to "Standard"
put (<<"Hello">>,42,"GO"&return)-- (<<"Hello">>,"42","GO" & return)
例:
set the defaultQuoteFormat to "None"
put (<<"Hello">>,42,"GO"&return) -- ("Hello",42,GO )
the caseSensitive
ローカルプロパティ
値: True
, False
デフォルト: False
(各ハンドラの開始時に設定)
動作: このローカルプロパティは、テキスト比較演算子が大文字と小文字をどのように評価するかを決定します。例えば、「Capital」と「capital」を同じと評価させたくない場合はこのプロパティをtrueに設定し、等しいと評価させたい場合はfalseに設定します。
例:
put "Robin" into name
put "robin" into bird
put textdifference(name,bird) // 0を返す
set the caseSensitive to true
put textdifference(name,bird) // 1を返す
例:
set ghost to "BOO"
set babyghost to "boo"
put babyghost is ghost // 'True'を返す
set the casesensitive to true
put babyghost is ghost // 'False'を返す
the clockFormat
グローバルプロパティ
値: 12(または12時間制)、24(または24時間制)
デフォルト: 12時間制
動作: 時間の値が24時間制または12時間制で表示されるかを決定します。例えば、12時間制の場合、03:17 PMと表示され、同じ時間を24時間制で表示すると15:17となります。12時間制では、AMまたはPMが値の一部として含まれます。
例:
put the time // '03:16 PM'と表示
set the clockFormat to 24
put the time // '15:16'と表示
the timeFormat
グローバルプロパティ
値: convert
コマンドと各種の日付と時刻の形式をサポートするプロパティリスト。
デフォルト: 上記の値に記載されています。the timeFormat
に含まれるすべての形式のリストを見るためには、次のコマンドを使用します:
put the keys of the timeFormat
動作: このグローバルプロパティは、名前で日付/時間の値を呼び出すときに適切な形式を提供するために使用されます。例えば、コードがinternational date
を要求した場合、SenseTalkはthe timeFormat
プロパティを使用して、その日付/時間の値がどのように表示されるべきかを探します。デフォルトの形式の例とともに日付/時間の値のリストを見るには、SenseTalkの日付と時間の値のconvert
コマンドを参照してください。
どの形式でも調べたり変更したりすることができます(下の例を参照)。変更を行う際には、必要な形式を削除したり、間違って一つの値で全体の形式を置き換えたりしないように注意してください。
SenseTalkで日付/時間の形式がどのように定義されているかについての詳細情報は、SenseTalkの日付と時間の形式を参照してください。
例:
put the timeFormat.ShortDateItems // "[year],[mo],[da],[hr24],[mi],[se]"
例:
set the timeformat's date to "[weekday], [monthName] [d]."
put the date into mydate
add 30 weeks to mydate
log mydate // 'Friday, March 2.'と表示
例:
put the long date // "Wednesday, October 19, 2005"
delete the first word of the timeFormat's longDate
put the long date // October 19, 2005
関連項目:
the timeInputFormat
グローバルプロパティ
値: the timeInputFormat
の値を以下のいずれかに設定することができます:
- 単一の形式値、
Natural
、iso8601
、またはempty
- 形式値のリスト
- 形式値を含むプロパティリスト(ただし、以下の注意を参照)
Default: values from the timeFormat
global property, plus "iso8601"
動作: the timeInputFormat
グローバルプロパティは、テキスト文字列が日付/時間値として有効であるかどうかを判断するために使用される日付と時間の形式をすべて指定するリストです。デフォルトでは、このプロパティは動的にthe timeFormat
グローバルプロパティの値にリンクされているため、日付または時間文字列はそこに含まれる任意の形式で認識できます。
Natural
形式についての情報は、以下のNatural Formatを参照してください。また、SenseTalkはiso8601
Format以下に記述されているように、ISO 8601形式もサポートしています。
SenseTalkが内部的にすでにその形式になっていない値を日 付/時間値として解釈しようとするとき、次の3ステップのプロセスを経ます:
- 値が数値であれば、SenseTalkはそれを2001年1月1日からの秒数として扱います。
- 値が
dateItems
形式のいずれか(5、6、7、または8の数値のリストまたはカンマ区切りのテキストリスト)であれば、それに応じて解釈されます。 - 値がテキストであれば、SenseTalkはリストされた順序で
the timeInputFormat
の各アイテムを通じて、値がその形式に一致するかどうかを確認します。最初に一致した形式が値を翻訳するために使用されます。
この日付と時間の解釈プロセスは、is a date
演算子、date()
関数と関連関数、および文字列を暗黙的に日付/時間値として解釈しようとする加算などの操作によって多くの操作で使用されます。
SenseTalkで日付/時間形式がどのように定義されるかについての完全な情報については、SenseTalk Date and Time Formatsを参照してください。
例:
set the timeInputFormat to Natural // ほとんどの形式を受け入れる
例:
set the timeInputFormat to "" //デフォルトの動作をリセットする
例:
set the timeInputFormat to iso8601 // 形式をISO 8601に対応する形式に設定する
例:
insert "[da]/[mo]/[yr]" before the timeInputFormat // 日付のヨーロッパの解釈を優先する
put "12/2/98" into subscription
add 30 days to subscription
log subscription // '14/03/98'を表示する
例:
put "%A, %B %e." into the timeInputFormat // 05/25/80のように異なる形式で書かれた値が日付として認識されるのを防ぐ
set mydate to "Wednesday, December 3."
subtract 1 week from mydate
log mydate // 'Sunday, November 26.'をログに記録
put "05/25/80" is a date // 'False'を表示
set the timeInputFormat to empty // timeInputFormatをデフォルトの動作にリセット
put "05/25/80" is a date // 'True'を表示
値をプロパティリストに設定する(またはthe timeFormat
にリンクする)場合、SenseTalkはプロパティリストからの値のみを使用します。つまり、グローバルプロパティをプロパティリストに設定することはできますが、the timeInputFormat
はプロパティリストとして値を保存しません。キーを削除し、値のみをリストとして保存します。
SenseTalkは、プロパティリストのソートされたキー順で形式を並べます。ただし、一つの形式が別の形式のプレフィックスの場合を除きます。この場合、形式は常にリストの後ろに配置され、長い形式が先にマッチするようにします。また、任意の形式が2桁の年([yr]を使用)を許可する場合、4桁の年の対 応する形式([year])が自動的にその形式の2桁版よりも先にリストに追加されます。
値をempty
に設定すると、それは再度the timeFormat
の値に動的にリンクします(初期のデフォルト状態)。
値を形式のリストに設定する場合、長い形式を先に並べてください。SenseTalkは、テキストの一部しか一致しない場合でも、最初に一致した形式を使用して時間値を解釈します。
Natural
Format
特定の形式文字列に加えて、自然
の値を使用することで、SenseTalkは"昨日"、"午後"、"火曜日の昼食時"などの時間的意味合いを持つ自然言語フレーズを日時値として解釈することができます。この形式オプションは、このようなフレーズを受け入れます。
この設定は、値の"最善の推測"に到達するために洗練された技術を使用していますが、一部のケースでは、値を日付/時間として扱うのに過度に積極的になる可能性があります。リストで使用される場合、自然
は他の特定の形式がまず制御された優先順位で一致するのを許すために、リストの最後の項目であるべきです。
iso8601
Format
SenseTalkは、すべての数字の値(すべての数字とおそらく小数点)を日時として扱いません。値をISO 8601の日時としてSenseTalkに認識させたい場合、その値は次のいずれかを含む必要があります:
-
日付形式: 年の4桁を始め、月の2桁、日の2桁の順になります。日付は必ず年から始まり、年は4桁で、1000年前の年は先頭にゼロを使用して表します。月と日は省略可能ですが、月を省略して日を含めることは許されません。日を省略すると、その月の最初の日が仮定されます。月と 日の両方を省略すると、1月1日が仮定されます。時間を指定せずに日付が指定されている場合、SenseTalkは指定された日付の正午を時間として割り当てます。
日付区切り: 年、月、日はスペース、ダッシュ、またはピリオドで区切ることができます。以下の例を参照してください。
例:
2015-11-13 -- 2015年11月13日
例:
1959.05.11 -- 1959年5月11日
例:
2000 01 01 -- 2000年1月1日
-
時間形式: 時間の2桁から始め、分の2桁、秒の2桁の順になります。時間が指定されている場合、時間形式は必ず時間から始まります。分と秒は省略可能です。ただし、分が含まれていない場合、秒を含めることはできません。省略すると、SenseTalkは分と秒をゼロと仮定します。秒の後には小数点(またはコンマ)と秒の一部を続けることができます。
時間区切り: 時間、分、秒はコロンまたはスペースで区切ることができます。日付形式と時間形式の両方が含まれている場合、日付形式が最初に来る必要があり、時間形式からスペースまたは大文字のTで区切ることができます。日付/時間値の後には、UTC(協定世界時)からのゼロオフセットを示すために大文字のZ、または+(プラス)または-(マイナス)を続け、その後に2桁または4桁を続けてUTCからの時間、または時間と分のオフセットを示すことができます。
例:
`12:15:20 -- 正午過ぎの15分20秒`
例:
`09 30 15 -- 午前9時過ぎの30分15秒`
例:
`11:00:00 -- 午前11時、分と秒は指定されていない`
SenseTalkはISO 8601標準の日付と時間の形式をサポートしています。標準についての詳細は、このISO 8601形式についての記事を参照してください。
- 要素間のセパレータ
- 日付の後または時間の前(または両方が指定されている場合は日付と時間の間)にTの文字
- 最後にZの文字またはタイムゾーンのオフセット。
the centuryCutoff
Local Property
値: 0から99までの整数; 負の数、または 空
**デフォルト: the defaultCenturyCutoff
グローバルプロパティ。これは、将来の10年間に初期化されます。**振る舞い: このローカルプロパティは、文字列を日付に変換するときに、2桁の数字を4桁の年に解釈するのを制御します。2桁の年が見つかると、現在の年またはthe centuryCutoff
によって示される年までの未来の年とみなされます。それ以外の場合、the centuryCutoff
の値よりも大きい2桁の年は、過去(現在の世紀の早い時期または前の世紀)とみなされます。この機能を無効にし、2桁の年が共通の時代の最初の世紀の年を表すようにするには、the centuryCutoff
を負の数またはempty
に設定します。
例:
set the centuryCutoff to 26
put international date of "3/16/26" -- 2026-03-16
set the centuryCutoff to 25
put international date of "3/16/26" -- 1926-03-16
set the centuryCutoff to empty
put international date of "3/16/26" -- 26-03-16 (the year 26 in the first century of the common era)
関連:
the defaultCenturyCutoff
GlobalProperty
値: 0から99までの整数; 負の数、または 空
デフォルト: 10年後****振る舞い: the centuryCutoff
ローカルプロパティが設定されていない場合、このグローバルプロパティは文字列を日付に変換する際に2桁の数字を4桁の年に解釈するために使用されます。このプロパティは the centuryCutoff
ローカルプロパティと同様に動作し、同じ機能を持っています。すべてのハンドラが異なるカットオフ日付で日付を解釈するように the defaultCenturyCutoff
の値を調整します。**例:
set the defaultCenturyCutoff to 26
put the abbreviated international date of "3/16/26" // Displays '2026-03'
set the defaultCenturyCutoff to 25
put the abbreviated international date of "3/16/26" // Displays '1926-03'
set the defaultCenturyCutoff to empty
put the abbreviated international date of "3/16/26" // Displays '0026-03' (the year 26 in the first century of the common era)
関連:
the lastDayOfMonthCalculation
Global Property
値: True または False。
デフォルト: True
振る舞い: カレンダー日付算術が月の最終日を優先するかどうかを制御します。SenseTalkでは、開始日からカレンダーの月数、四半期、年数を加算または減算して終了日を計算することができます。例えば、"11月13日" + 6ヶ月
は"5月13日"
となります。月の長さが異なるため、開始日が月末または月末近くの場合、この問題が生じることがあります。the lastDayOfMonthCalculation
がデフォルト(true
)に設定されている場合、SenseTalkはこれらのカレンダー日付計算が常に正しい月を結果とすることを保証します。開始日が月の最終日である場合、または結果となる月の終わりを超える日である場合、計算された終了日は結果となる月の最終日となります:
例:
set startDate to "January 31, 2018"
put startDate + 1 month into newDate
put newDate // "February 28, 2018"
例:
put "September 30" + 1 calendarQtr -- "December 31"
put “August 31” + 1 month -- “September 30"
the lastDayOfMonthCalculation
がfalse
に設定されている場合、結果となる終了日は可能な限り開始日と同じ日になります。結果となる月の日数が少ない場合、その月の最後の日よりも大きな日が次の月の最初の日に持ち越されます:
例:
set the lastDayOfMonthCalculation to false
set startDate to "January 31, 2018"
put startDate + 1 month into nextDate
put nextDate // "March 3, 2018"
例:
put "September 30" + 1 calendarQtr -- "December 30"
put “August 31” + 1 month -- “October 1"
the colorFormat
Global Property
振る舞い: the colorFormat
は、内部的に色として表現される値がテキスト表現に変換されるときに使用するフォーマットを指定するグローバルプロパティです。Basicは、色の赤、緑、青のレベルを0から255の間の3つの整数のリストで表します。Alpha形式は、色の不透明度を表す0から255までの第4の整数を追加します(0は完全に透明です)。
デフォルト: Basic
値: Basic、Alpha、HTML、W、WA、RGB、RGBA、HSB、HSBA、CMYK、または CMYKA
HTML形式は、色を"#"に続く16進数(例:"#FF0000"は赤)として表現します。他の形式は、形式識別子で始まり、その後に0.0から1.0までの1つ以上の成分値が続き、各色成分のレベルを示します。colorFormatは最初にBasicに設定されます。
例:
set the colorFormat to "Basic"
put color("red") -- Displays "255,0,0"
例:
set the colorFormat to "HSB"
put color("green")-- Displays "HSB, 0.333, 1.000, 1.000"
例:
set the colorFormat to "HTML"
put coloratLocation("IndicatorLight") // Displays the returned color in HTML format (i.e. #E99820)
例:
set the colorFormat to "HTML"
put colorAtLocation("IndicatorLight") into myColor // Stores the return into variable "myColor"
log color(myColor) is "#E99720" // Determines whether the color stored in myColor is equivalent to #E99720
例:
もしnamedcolorsのキーに"gold"が含まれていないなら、Set the namedColors.Goldを(128,128,0)に設定します // "Gold"が既に名前付き色であるかどうかを確認し、そうでない場合は、それをプロパティリストに追加します
log the keys of the namedcolors // すべての名前付き色の名前をログに記録します
set the colorFormat to "Alpha" // 色形式を基本からアルファに変更します
log the namedColors.Gold // Gold(128,128,0)の値をログに記録します
log color("Gold") // Goldの色をアルファ(128,128,0,255)で表現し、ログに記録します
関連:
the namedColors
Global Property
動作: the namedColors
プロパティは、スクリプト内で名前で指定できる色を定義します。デフォルトセットには、一般的に使用される多くの色が含まれています。自分のカスタム色をデフォルトセットに追加することで、色値ではなく名前でカスタム色を参照することができます。
デフォルト: 以下の色名をキーとするプロパティリスト:Aqua, Black, Blue, Brown, Clear, Cyan, DarkBlue, DarkGray, DarkGreen, DarkGrey, DarkRed, Fuchsia, Gray, Green, Grey, LightGray, LightGreen, LightGrey, Lime, Magenta, Maroon, Navy, Olive, Orange, Purple, Red, Silver, Teal, White, Yellow。各キー(色名)の値は、初期設定でBasic(the colorFormat
のデフォルト)に設定されます。
値: キーが色名、値がthe colorFormat
グローバルプロパティの現在の値に基づいて定義された色であるプロパティリスト。
例:
put the namedColors // 基本色形式ですべての利用可能な色とその値を表示するプロパティリストを表示します
例:
put the namedColors's red // '(255,0,0)'を表示します
例:
put
the
keys
of the
namedColors
-- 利用可能なすべての色名をリストします
例:
set the namedColors.pink to color("RGB,1.0,0.5,0.5") -- ピンクを定義します
set the namedColors.dawn to color("pink")
put color of "dawn"-- "255,128,128"を表示します(colorFormatがBasicの場合)
例:
put coloratlocation("ColorArea") into myColor // ColorAreaイメージのホットスポットの位置のピクセルの色を保存します
assert that mycolor is color(121,244,128)
set the namedcolors.kindagreen to color(121,244,128)
assert that mycolor is color("kindagreen")
関連:
the defaultDataFormat
Global Property
値: text
, hex
, base64
, size
, auto
デフォルト: text
動作: 値がデータからテキストに変換されるとき、the defaultDataFormat
グローバルプロパティの現在の設定がそれがどのように表現されるかを制御します。
text
の設定では、the defaultStringEncoding
グローバルプロパティがバイナリデータをテキストとしてどのように解釈するかを制御します。the defaultDataFormat
もtext: <encodingName>
と設定することで特定のエンコーディングを使用することができます、例えばtext: UTF-16
。使用するエンコーディングとテキストに現れる特定の文字により、結果のデータは元のテキストの各文字に対して正確に1バイトを持つこともありますし、一部またはすべての文字に対して2バイト以上を持つこともあります。
hex
(またはhexadecimal
)フォーマットは、データのすべてのバイトに対して2つの16進数の数字を、角括弧で囲って表示します。このフォーマットはスクリプト内でSenseTalkによってリテラルデータ値として認識されるので、value()
関数を使用してこのフォーマットのテキストをバイナリデータに戻すことができます。
base64
フォーマットは、64種類の異なるテキスト文字を使用してデータをエンコードする、よりコンパクトな表現です。base64Decode()
関数を使用して、このフォーマットのテキストを読み取り、バイナリデータ に戻すことができます。
size
フォーマットは最も省略されたフォーマットで、データのサイズを単に示します(例えば、<data: 42516 bytes>
)。このフォーマットは、ユーザーに対して潜在的に大きなバイナリデータの塊を表示するための有用な表現ですが、データ自体が失われてしまうため、保存用に使用することはできません。
auto
フォーマットは、大きなバイナリデータ(64バイト以上)に対してはsize
フォーマットを自動的に選択し、それより小さいサイズに対してはhex
フォーマットを選択します。auto: <limit>
の形式を使用して、64バイトとは異なる制限を指定することができます(例えば、auto: 16
を使用して16バイト以上のデータを16進数フォーマットで表示します)。
例:
set myData to "The cat in the hat was a mighty fine cat." as data -- データを含む変数を設定します
-- defaultDataFormatの標準の設定はテキストで、defaultStringEncodingを使用してデータをテキストに変換します
put "", the defaultDataFormat & " => " & myData
set the defaultDataFormat to "text: Unicode (UTF-7)" -- 別のエンコーディングを使用してデータをテキストとして解釈します
put "", the defaultDataFormat & " => " & myData
set the defaultDataFormat to "hex" -- データを16進数フォーマットで表示します
put "", the defaultDataFormat & " =& " & myData
set the defaultDataFormat to "size" -- バイト数だけを表示し、データは表示しません
put "", the defaultDataFormat & " =& " & myData
set the defaultDataFormat to "auto" -- 64バイト以上の場合はサイズとして、それ以外の場合は16進数として表示します
put "", the defaultDataFormat & " =& " & myData
set the defaultDataFormat to "auto: 30" -- 30バイト以上の場合、サイズとして表示します
put "", the defaultDataFormat & " =& " & myData
set the defaultDataFormat to "base64" -- データをbase64エンコーディングで表示します
put "", the defaultDataFormat & " =& " & myData
関連項目:
the defaultStringEncoding
the booleanComparison
Global Property
動作: このグローバルプロパティは、Booleanの一致がどのように行われるかを制御します。Normal
に設定されている場合、Yes
とOn
の値はTrue
(または互いに)と等しく比較され、Off
とNo
の値はFalse
と等しく比較されます。空のオブジェクトが自体で評価されるとき、それはFalse
のBoolean値と同等です。しかし、空のオブジェクトが具体的な値False
と比較されると、それらは等価ではありません。このケースでは、評価と比較の違いがあります。
デフォルト: Normal
値: Normal
, Strict
, Lenient
もし the booleanComparison
がStrict
に設定されている場合、値Yes
、No
、On
、Off
は文字列として比較され、したがってTrue
またはFalse
と等しくありません。 the booleanComparison
がLenient
に設定されている場合、Yes
、No
、On
、Off
の文字列に評価される任意の値は、他のブール値との等価性テストの目的でブール値として扱われます。
例:
put Yes is true -- True
put off = false -- True
set the booleanComparison to "Strict"
put yes is true -- False
put off = false -- False
the asTextLimit
Global Property
動作: このプロパティは、値の内部生成テキスト表現の最大サイズを制御します。この制限を超えるテキスト表現が要求されると、例外がスローされます。この制限は、非常に大きな値によって引き起こされる可能性のあるシステムのクラッシュを防ぐためのものです。
デフォルト: 10,000,000文字
値: 最大文字数を表す数値
例:
set the asTextLimit to 20 million
関連項目:
the endValue
Global Property
動作: このプロパティは、イテレータがこれ以上の値を提供できないときに返す値です。 the endValue
の目的は、データの最後に達したことを知らせるユニークな文字列を提供することです。
デフォルト: " ⓔ ⓝ ⓓ "(この文字列には、可視文字の前後と間にいくつかの非標準スペース文字が含まれています。)
値: 文字列
the endValue
は、end
定数の値も設定します。プロパティ値を変更すると、定数の値も変更されることに注意してください。
例:
set the endValue to "MyCrazyString*&^%"
put end // MyCrazyString*&^%
the matchesCanOverlap
Global Property
動作: このプロパティは、文字列内の複数のパターンマッチが重なるか、またはネストされるかどうかを制御します。 False
に設定されているとき、パターンマッチが見つかると、次のマッチの検索は前のマッチの後の文字から始まります。 True
に設定されると、次のパターンマッチの検索は、前のパターンマッチの2番目の文字から始まります。
デフォルト: False
値: True
, False
このプロパティの設定は、パターンを使用してevery match
、every range
、every occurrence
、およびevery offset
関数の結果に影響を与えます。特定のマッチ、範囲、出現、またはオフセットをリクエストするときも同様で、the third occurrence of pattern in text
のような場合になります。
例:
put every match of <3 digits> in "123456" --> ((text:"123", text_range:"1" to "3"),(text:"456", text_range:"4" to "6"))
set the matchesCanOverlap to true
put every match of <3 digits> in "123456" --> ((text:"123", text_range:"1" to "3"),(text:"234", text_range:"2" to "4"),(text:"345", text_range:"3" to "5"),(text:"456", text_range:"4" to "6"))
関連項目:
- SenseTalkパターン言語の基本
Match
,Every Match
関数Occurrence()
,EveryOccurrence()
関数Offset()
,Range()
,EveryOffset()
,EveryRange()
関数
the patternCharacterMode
Global Property
動作: このプロパティは、用語characters
(またはchars
)がパターンマッチングで行セパレータを含むかどうかを制御します。Text
に設定すると、characters
は全文の任意の文字にマッチします、行セパレータを含みます。Line
に設定すると、行内の文字のみがマッチし、行セパレータはマッチしません。
デフォルト: Text
値: Text
, Line
例:
行の開始までfileNameを設定,
{name:max chars then "."},
{extension:chars}, end of line>
ファイルリストを設定 {{
geraldine.txt
transcript.10.29.18.txt
sunburst.png
}}
patternCharacterModeを"text"に設定
fileList内のfileNameの最初の出現を出力 // パターンが全テキストを考慮するので、行のブレークに関係なく全リストを表示します
patternCharacterModeを"line"に設定
関連項目:
the patternTimeout
Global Property
値: 時間(単位が指定されていない場合は秒)
デフォルト: 30
動作: このプロパティは、単一のパターン検索にかかる最大時間を制御します。パターン検索が設定時間を超えると、例外がスローされます。
テックトーク:
ssnを<3桁の数字から "-", 2桁の数字から "-", 4桁>に設定
patternTimeoutを10に設定
sourceText中のssnのすべての出現をログに記録
関連項目:
the patternTimeout
Global Property
値: 1から64までの数値
デフォルト: 64
動作: このプロパティは、SenseTalkが次のビット単位演算子の結果を計算するために使用するビット数を制御します:bitNot
, bitAnd
, bitOr
, bitXOr
, そして bitShift
。また、bit
表現がアクセスできるビット範囲も制御します。
numberFormatを"hexadecimal"に設定
bitLengthを16に設定
put 123 --> 0x7B
put bitNot 123 --> 0xFF84
bitLengthを32に設定
put bitNot 123 --> 0xFFFFFF84
関連項目: