その他の演算子
( ) (括弧) 演算子
動作: 括弧を使用して、式内の操作が実行される順序を制御します。括弧が使用されていない場合に操作が実行される順序を理解 するために、演算子の優先順位をご覧ください。疑問がある場合は、括弧を使用して操作が望ましい順序で実行されるようにします。また、詳細については 括弧の使用法をご覧ください。
構文:
( expression )
例:
put 2 * (height + width) into perimeter
AsList 関数
動作: asList 関数は、オブジェクト(プロパティリスト)をパラメータとして呼び出されます。最初に、オブジェクトが asList プロパティを持っているかどうかを確認します。もしそうなら、その値が返されます。そうでなく、オブジェクトが asListExpression プロパティを持っている場合は、そのプロパティの値が式として評価され(value() 関数を呼び出すのと同等)、リスト値が得られます。オブジェクトがこれらのプロパティのいずれも持っていない場合、asList 関数メッセージがオブジェクトとそのヘルパーに専用で送信され、その返り値が使用されます。
ターゲットがオブジェクトでない(または asList または asListExpression プロパティまたは asList 関数ハンドラを持っていない)場合、またはすでにリストでない場合、ターゲットの文字列値が式として評価され(value() 関数を呼び出すのと同等)、リスト値が得られます。
構文:
{the} average of numList
asList( expr )
例:
put file "scores" as a list into testScores
関連項目:
Is A, Is Not A, Isn't A, Is All, Is Not All, Isn't All 演算子
動作: 値が特定のタイプとして有効であるかどうかを確認するか、値の内容を分析します。 number, integer, even number, odd number, positive number, negative number, positive integer, negative integer, point, rectangle, date, time, Booleanであるかどうかをテストできます。 list, range, iterator, file, folder, tree, objectであるかどうかを確認するために変数をテストできます。また、値内の文字またはすべての文字が digits, letters, alphanumeric, uppercase, lowercase, punctuation, blank (または whitespace), blankOrReturn (または whitespaceOrReturn), controlCharsであるかどうかをテストできます。値が他のコンテナへの参照であるかどうかを確認するために、それが referenceであるかどうかをテストできます。また、オブジェクトが objectType プロパティを定義している場合、 is a 演算子はカスタムオブジェクトタイプのテストにも使用できます(特殊プロパティの ObjectType プロパティを参照)。
構文:
valueToTest is {not} a typeIdentifier
valueToTest is {not} all typeIdentifier
例: 次の表現はすべて "true" を返します:
put pi is a number
put pi is not an integer
put -12 is an even number
put 5683 is an odd number
put 98.6 is a positive number
put 0 isn't a positive number
put -13.2 is a negative number
put 144 is a positive integer
put -1 is a negative integer
put "123, 12.5" is a point
put "123, 12.5, 245, 25" is a rectangle
put (snow is greater than rain) is a boolean
put (a,b,c) is a list
put 14..94 is a range
put (a,b,c) is an iterator
put "July 4, 1776" is a date
put "/System/Library/Fonts/Courier.dfont" is a file
put "/System" is a folder
put (partnum:"4X56N32", qty:14) is an object
put 6 is a digit
put character 2 of "4X56N32" is a letter
put "J946Ux" is an alphanumeric
put "a" is a lowercase
put "ABCdef" isn't all uppercase
put "(),.;:!?[]{}%\’/" is all punctuation
put space is a blank
put space & tab & return is all blankOrReturn
put tab is a controlChar
put @foo is a reference
put radius:23, objectType:("Shape", "Circle") is a "Circle"
put <"[", character, "]"> is a pattern
typeIdentifier が以下に列挙された有効な識別子のいずれか、またはこれらの組み込み識別子のいずれかに評価される式でない場合、または valueToTest がオブジェクトまたはプロパティリストでない場合、エラーが発生します。
valueToTest がオブジェクトの場合、 is a 演算子は typeIdentifier をパラメータとしてオブジェクトに isObjectType 関数メッセージを送信して返された値に評価されます。この関数のデフォルトの実装は、オブジェクトの objectType プロパティが typeIdentifier を含むかどうかをチェックします。プロパティリストに objectType プロパティがある場合、それは単一の値または値のリストであるかもしれません。 typeIdentifier が objectType リスト内の任意の項目と等しい場合、 is a 演算子は真に評価され、それ以外の場合は偽に評価されます。
| 識別子 | テストする値が真のとき |
|---|---|
Boolean logical | "true" または "false", "yes" または "no", "on" または "off" |
date time | 日付または時間の値に変換できる単一の数値以外の値 |
even number | 2で割り切れる整数 |
file | フォルダではない存在するファイルのファイルオブジェクトまたはファイル名 |
folder directory | 存在するフォルダのファイルオブジェクトまたはファイル名、ただしプレインファイルではない |
integer int | 分数部分のない "全体" の数 |
iterator | リストや範囲など、反復可能な値 |
list |