2

テキスト項目の区切り記号を使用する一般的に推奨される方法は次のとおりです。

set tid to AppleScript's text item delimiters
set AppleScript's text item delimiters to "x"
set l to text items of "aaxbb"
set AppleScript's text item delimiters to tid
l

私は通常、次のようなことをします:

set text item delimiters to "x"
text items of "aaxbb"

http://macscripter.net/viewtopic.php?id=24725 :

「常に元に戻す」というメッセージに注意を払うことが重要です。AppleScript は区切り文字の設定を記憶しています。スクリプト エディタで新しい 2 番目のスクリプトを開いた場合でも、最初に設定した区切り文字が 2 番目のスクリプトに適用されます。

私はそれを再現できませんでした。OS X の一部のバージョンで動作が変更されましたか?

AppleScript: 決定版ガイド:

テキスト項目区切り文字の値は、AppleScript スクリプト コンポーネントのこのインスタンスが存続する限り存続します。このスクリプト コンポーネントの存在下で複数のスクリプトを実行する可能性があり、それらのいずれかがテキスト項目の区切り記号を設定する可能性があるため、テキスト項目の区切り記号の値について想定しないことが賢明です。

これはまだ当てはまりますか、それともテキスト項目の区切り文字プロパティが他のスクリプトに影響を与える例を挙げていただけますか?

4

3 に答える 3

3

https://developer.apple.com/library/mac/#documentation/applescript/conceptual/applescriptlangguide/conceptual/ASLR_fundamentals.htmlのセクション AppleScript Fundamentals > Global Constants in AppleScript > text item delimiters :


スクリプト エディターでテキスト アイテムの区切り記号のプロパティを変更すると、以前の値を復元するか、スクリプト エディターを終了して再度起動するまで、変更されたままになります。スクリプト アプリケーションでテキスト項目の区切り記号を変更すると、以前の値を復元するか、スクリプト アプリケーションが終了するまで、そのアプリケーションで変更されたままになります。ただし、スクリプト エディタまたは実行する他のスクリプト アプリケーションでは、区切り記号は変更されません。


于 2013-07-19T21:19:36.433 に答える
3

あなたが話しているこの変更について、リセットする必要がなくなったということを読んだことを覚えていますが、Google で検索しても何も見つかりませんでした。ということで早速テストしてみました。これら 2 つのスクリプトを作成し、AppleScript Editor で実行しました。まずはこれ…

set text item delimiters to "something"
return text item delimiters

それからこれは...

return text item delimiters

2 番目のスクリプトは {""} を返します。したがって、最初のスクリプトが 2 番目のスクリプトに影響を与えていないようです。これを 10.6 と 10.8 の両方でテストしましたが、結果は同じでした。

これはapplescriptのリリースノートです。10.7 または 10.8 のリリース ノートが見つかりません。それらを検索しても、この件については何も見つかりません...

http://developer.apple.com/library/mac/#releasenotes/AppleScript/RN-AppleScript/RN-10_3/RN-10_3.html#//apple_ref/doc/uid/TP40000982-CH103-SW1

したがって、私はあなたに決定的な答えを持っていません。誰もがそれらをリセットするように言っていますが、私の簡単なテストでは、リセットする必要がないことが示されています。

また、おっしゃる通り、tell ブロッ​​クの外側に「Applescript」は必要ありません。

于 2013-01-30T09:12:58.390 に答える
0

スクリプト アプリケーションを実行している場合、技術的にはそれらを休ませる必要はないと思います。終了すると終了するからです。

ただし、スクリプト エディターでスクリプトを実行している場合、区切り記号への変更はスクリプト エディターのそのスクリプトに残ります。私はちょうど今日それを見てきました。

しかし、数年前に変更されたのは、スクリプト エディタで開いている他のスクリプトやウィンドウには影響しないということです。

また、アプリケーションとして実行している場合は、その特定のスクリプトにのみ影響します。

于 2015-04-22T10:10:15.680 に答える