Menu

Skip to content
AppleScriptの穴
  • Home
  • Products
  • Books
  • Docs
  • Events
  • Forum
  • About This Blog
  • License
  • 仕事依頼

AppleScriptの穴

Useful & Practical AppleScript archive. Click '★Click Here to Open This Script' Link to download each AppleScript

カテゴリー: list

2D Listから条件抽出(パラメータ外部指定)

Posted on 2月 7, 2018 by Takaaki Naganoya
AppleScript名:2D Listから条件抽出(パラメータ外部指定)
— Created 2017-11-03 by Takaaki Naganoya
— 2017 Piyomaru Software
use AppleScript version "2.4"
use scripting additions
use framework "Foundation"

property NSPredicate : a reference to current application’s NSPredicate
property NSArray : a reference to current application’s NSArray

set aList to {{"Apple", 2}, {"Lemon", 3}, {"Apple", 4}, {"Water Melon", 2}}
set aTarg to {"Apple", 2}

set anArray to NSArray’s arrayWithArray:aList

set aPred to NSPredicate’s predicateWithFormat_("SELF[0] = %@ && SELF[1] >= %@", item 1 of aTarg, item 2 of aTarg)
set bRes to (anArray’s filteredArrayUsingPredicate:aPred) as list
–>  {​​​​​{​​​​​​​"Apple", ​​​​​​​2​​​​​}, ​​​​​{​​​​​​​"Apple", ​​​​​​​4​​​​​}​​​}

★Click Here to Open This Script 

Posted in list | Tagged 10.11savvy 10.12savvy 10.13savvy | Leave a comment

2D List中の特定アイテムが指定リストに入っていたら抽出

Posted on 2月 7, 2018 by Takaaki Naganoya

2D List(2次元配列)からの条件抽出です。

Predicates文で対象を指定できるので、表記は手軽だし簡潔に記述できるのですが、実行速度がいまひとつです。

AppleScriptの処理系はGUIアプリケーションとのプロセス間通信を行わないかぎりは、処理系が(いまとなっては)コンパクトなため相当に高速に処理してくれるので(大規模データの扱いに難はありますが)、AppleScriptの単純ループ処理で抽出したほうがCocoa呼び出しよりも高速というケースが多々あります。

数万件規模のデータになるとCocoaの機能を用いるべきですが、ごくごく小規模なデータを扱う(1万件以下)場合であれば、AppleScriptの単純ループ処理のほうが高速です。

Cocoaの呼び出し処理は初回に時間がかかって、繰り返し呼び出すことでキャッシュされてスピードが向上する傾向がありますが、このような小規模なデータが対象だとPlaneなAppleScriptの処理のほうが5倍以上高速という結果が出ます。

画像の空白検出のような大規模データの処理だとCocoaの機能を呼び出したほうが高速なので、そのあたりは使い分け・見極めがきわめて重要といえます。

AppleScript名:2D List中の特定アイテムが指定リストに入っていたら抽出
— Created 2017-11-03 by Takaaki Naganoya
— 2017 Piyomaru Software
use AppleScript version "2.4"
use scripting additions
use framework "Foundation"

property NSPredicate : a reference to current application’s NSPredicate
property NSArray : a reference to current application’s NSArray

set aList to {{"Apple", 2}, {"Lemon", 3}, {"Apple", 4}, {"Water Melon", 2}}
set aTarg to {"Apple", "Lemon"} –データの表記ゆらぎ対策に使える?

set anArray to NSArray’s arrayWithArray:aList
set aPred to NSPredicate’s predicateWithFormat_("SELF[0] IN %@", aTarg)
set bRes to (anArray’s filteredArrayUsingPredicate:aPred) as list
–>  {​​​​​{​​​​​​​"Apple", ​​​​​​​2​​​​​}, ​​​​​{​​​​​​​"Lemon", ​​​​​​​3​​​​​}, ​​​​​{​​​​​​​"Apple", ​​​​​​​4​​​​​}​​​}

★Click Here to Open This Script 

Posted in list | Tagged 10.11savvy 10.12savvy 10.13savvy | Leave a comment

矩形座標同士の衝突判定 v3

Posted on 2月 7, 2018 by Takaaki Naganoya
AppleScript名:矩形座標同士の衝突判定 v3
— Created 2017-03-06 by Takaaki Naganoya
— 2017 Piyomaru Software
use AppleScript version "2.4"
use scripting additions
use framework "Foundation"

set a1Rect to {origin:{x:10, y:10}, |size|:{width:100, height:100}}
set b1Rect to {origin:{x:30, y:30}, |size|:{width:100, height:100}}
set a1Res to detectRectanglesCollision(a1Rect, b1Rect) of me
–>  true

set a4Rect to {origin:{x:0, y:20}, |size|:{width:100, height:10}}
set b4Rect to {origin:{x:1000, y:10000}, |size|:{width:50, height:100}}
set a2Res to detectRectanglesCollision(a4Rect, b4Rect) of me
–>  false

set a3Rect to {origin:{x:30, y:30}, |size|:{width:50, height:50}}
set b3Rect to {origin:{x:10, y:10}, |size|:{width:100, height:100}}
set a3Res to detectRectanglesCollision(a3Rect, b3Rect) of me
–> true

set a4Rect to {origin:{x:0, y:20}, |size|:{width:100, height:10}}
set b4Rect to {origin:{x:10, y:10}, |size|:{width:50, height:100}}
set a4Res to detectRectanglesCollision(a4Rect, b4Rect) of me
–> true

–NSRect同士の衝突判定
on detectRectanglesCollision(aRect, bRect)
  set a1Res to current application’s NSIntersectionRect(aRect, bRect)
  
return not (a1Res = {origin:{x:0.0, y:0.0}, |size|:{width:0.0, height:0.0}})
end detectRectanglesCollision

★Click Here to Open This Script 

Posted in list | Tagged 10.11savvy 10.12savvy 10.13savvy | Leave a comment

矩形座標同士の合計

Posted on 2月 7, 2018 by Takaaki Naganoya
AppleScript名:矩形座標同士の合計
— Created 2017-03-06 by Takaaki Naganoya
— 2017 Piyomaru Software
use AppleScript version "2.4"
use scripting additions
use framework "Foundation"

set a1Rect to {origin:{x:10, y:10}, |size|:{width:40, height:40}}
set b1Rect to {origin:{x:30, y:30}, |size|:{width:40, height:40}}
set a1Res to current application’s NSUnionRect(a1Rect, b1Rect)
–>  {​​​​​origin:{​​​​​​​x:10.0, ​​​​​​​y:10.0​​​​​}, ​​​​​size:{​​​​​​​width:60.0, ​​​​​​​height:60.0​​​​​}​​​}

★Click Here to Open This Script 

Posted in list | Tagged 10.11savvy 10.12savvy 10.13savvy | Leave a comment

指定矩形内に含まれるデータをリストで返す v3

Posted on 2月 7, 2018 by Takaaki Naganoya
AppleScript名:指定矩形内に含まれるデータをリストで返す v3
— Created 2017-06-22 by Takaaki Naganoya
— 2017 Piyomaru Software
use AppleScript version "2.4"
use scripting additions
use framework "Foundation"

set aList to {{507, 162}, {338, 166}, {389, 166}, {448, 166}, {286, 110}, {504, 109}, {558, 108}, {341, 113}, {394, 115}, {447, 112}, {234, 107}, {611, 110}, {286, 58}, {501, 63}, {556, 58}, {337, 59}, {391, 60}, {448, 63}, {611, 58}}

set rangeList to {{500, 100}, {550, 180}} –{{x1,y1}, {x2,y2}}
set resList to withinRange(rangeList, aList) of me
–>  {​​​​​{​​​​​​​507, ​​​​​​​162​​​​​}, ​​​​​{​​​​​​​504, ​​​​​​​109​​​​​}​​​}

on withinRange(rangeList as list, targetList as list)
  set aRect to makeNSRect(rangeList) of me
  
  
set includedList to {}
  
repeat with i in targetList
    copy i to {x, y}
    
set aPoint to current application’s NSMakePoint(x, y)
    
set aRes to (current application’s NSPointInRect(aPoint, aRect)) as boolean
    
    
if aRes = true then
      set the end of includedList to contents of i
    end if
  end repeat
  
  
return includedList
end withinRange

on makeNSRect(aList as list)
  try
    copy aList to {{x1, y1}, {x2, y2}}
    
set xWidth to (x2 – x1)
    
set yHeight to (y2 – y1)
    
set a1Rect to {origin:{x:x1, y:y1}, |size|:{width:xWidth, height:yHeight}}
    
return a1Rect
  on error
    return missing value
  end try
end makeNSRect

★Click Here to Open This Script 

Posted in list | Tagged 10.11savvy 10.12savvy 10.13savvy | Leave a comment

NSRectからの各種情報取得

Posted on 2月 7, 2018 by Takaaki Naganoya
AppleScript名:NSRectからの各種情報取得
use AppleScript version "2.4"
use scripting additions
use framework "Foundation"

set aRect to current application’s NSMakeRect(0, 0, 100, 80)
–> {origin:{x:0.0, y:0.0}, |size|:{width:100.0, height:80.0}}

set aWidth to current application’s NSWidth(aRect)
–> 100.0

set aHeight to current application’s NSHeight(aRect)
–> 80.0

set aMinX to current application’s NSMinX(aRect)
–> 0.0

set aMaxX to current application’s NSMaxX(aRect)
–> 100.0

set aMidX to current application’s NSMidX(aRect)
–> 50.0

set aMinY to current application’s NSMinY(aRect)
–> 0.0

set aMaxY to current application’s NSMaxY(aRect)
–> 80.0

set aMidY to current application’s NSMidY(aRect)
–> 40.0

★Click Here to Open This Script 

macOS 10.13以降は(何の説明もなく)NSMakeRectの返り値が変わっているので、注意が必要です。

use AppleScript version "2.4"
use scripting additions
use framework "Foundation"

set aRect to current application’s NSMakeRect(0, 0, 100, 80)
–> {origin:{x:0.0, y:0.0}, |size|:{width:100.0, height:80.0}}
–> {{0.0, 0.0}, {100.0, 80.0}}–macOS 10.13 or later

★Click Here to Open This Script 

Posted in list | Tagged 10.11savvy 10.12savvy 10.13savvy | Leave a comment

配列の要素数を取得する

Posted on 2月 7, 2018 by Takaaki Naganoya

Cocoaの配列の要素数を取得するAppleScriptです。

AppleScriptの配列であるリスト型変数については、length ofやcount ofで要素数を求められますが、

set aList to {1, 3, 5, 7, 9}
length of aList
--> 5

count of aList
--> 5

Cocoaの配列であるNSArrayやNSMutableArrayについてはこのように求めます。

AppleScriptのリスト型変数には、GUIアプリケーションのオブジェクトやAppleScriptのScriptオブジェクトを格納することが可能ですが、Cocoaの配列であるNSArrayやNSMutableArrayにこれらを代入することはできません。

AppleScript名:配列の要素数を取得する
— Created 2015-09-02 by Takaaki Naganoya
— 2015 Piyomaru Software
use AppleScript version "2.4"
use scripting additions
use framework "Foundation"

set anArray to current application’s NSArray’s arrayWithObjects_(1, 2, 3)
–>  (NSArray) {​​​​​1, ​​​​​2, ​​​​​3​​​}

–要素数を取得する
set aSize to anArray’s |count|()
–>  3

★Click Here to Open This Script 

Posted in list | Tagged 10.11savvy 10.12savvy 10.13savvy | Leave a comment

n次元のリストのすべてのアイテム数をカウント

Posted on 2月 7, 2018 by Takaaki Naganoya

n次元のリスト(配列)のすべてのアイテム数をカウントするAppleScriptです。

2次元でも3次元でも4次元でも、いかなる多次元配列のリストをも1次元配列に変換できるサブルーチン「FlattenList」はいまだに代替できるものが見当たらないほど万能で、この「要素数をカウントする」用途にも使ってみました。

AppleScript名:n次元のリストのすべてのアイテム数をカウント
— Created 2017-10-30 by Takaaki Naganoya
— 2017 Piyomaru Software
use AppleScript version "2.4"
use scripting additions
use framework "Foundation"

set aList to {{1, 2, 3}, {4, 5, 6}, {7, 8, 9, {1, 2, 3}}}
set aRes to FlattenList(aList) of me
set aLen to length of aRes

on FlattenList(aList)
  set oldDelims to AppleScript’s text item delimiters
  
set AppleScript’s text item delimiters to {"????"}
  
set aString to aList as text
  
set aList to text items of aString
  
set AppleScript’s text item delimiters to oldDelims
  
return aList
end FlattenList

★Click Here to Open This Script 

Posted in list | Tagged 10.11savvy 10.12savvy 10.13savvy | Leave a comment

リスト項目のシャッフル(ASOC)

Posted on 2月 7, 2018 by Takaaki Naganoya

–> ArrayRandomize.framework

AppleScript名:リスト項目のシャッフル(ASOC)
— Created 2016-12-06 by Takaaki Naganoya
— 2016 Piyomaru Software
use AppleScript version "2.4"
use scripting additions
use framework "Foundation"
use framework "ArrayRandomize" –https://github.com/masakihirokawa/objc-classes-dc-randomize
–http://piyocast.com/as/archives/4351

–配列をシャッフルして取得
set anArray to current application’s NSMutableArray’s alloc()’s initWithArray:{1, 2, 3, 4, 5}
set bArray to (current application’s DCRandomize’s shuffleArray:anArray) as list
–>  {​​​​​5, ​​​​​3, ​​​​​1, ​​​​​2, ​​​​​4​​​}

–1〜10の数値をシャッフルして配列取得
set cArray to (current application’s DCRandomize’s shuffle:1 max:10) as list
–>  {​​​​​9, ​​​​​4, ​​​​​6, ​​​​​5, ​​​​​3, ​​​​​2, ​​​​​7, ​​​​​8, ​​​​​1, ​​​​​10​​​}

–5〜10の範囲の乱数を取得
set dArray to (current application’s DCRandomize’s range:5 max:10) as integer
–>  7

–5〜10の範囲で 9以外の乱数を取得
set eArray to (current application’s DCRandomize’s exact:5 max:10 exceptId:9)
–>  9

★Click Here to Open This Script 

Posted in list | Tagged 10.11savvy 10.12savvy 10.13savvy | Leave a comment

GameplayKitを使ったリストのシャッフル

Posted on 2月 7, 2018 by Takaaki Naganoya
AppleScript名:GameplayKitを使ったリストのシャッフル
— Created 2016-12-08 by Shane Stanley
use AppleScript version "2.5"
use framework "Foundation"
use framework "GameplayKit"
use scripting additions

set anArray to current application’s NSArray’s arrayWithArray:{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
set newArray to anArray’s shuffledArray() as list — requires macOS 10.12

★Click Here to Open This Script 

Posted in list | Tagged 10.11savvy 10.12savvy 10.13savvy | 1 Comment

和集合(union)v2

Posted on 2月 7, 2018 by Takaaki Naganoya
AppleScript名:和集合(union)v2
— Created 2017-02-24 by Takaaki Naganoya
— Created 2017-03-01 by Shane Stanley
use AppleScript version "2.4"
use scripting additions
use framework "Foundation"
–http://piyocast.com/as/archives/4491

set aSet to current application’s NSMutableSet’s setWithArray:{1, 2, 3, 4}
set bSet to current application’s NSMutableSet’s setWithArray:{3, 5, 6, 7}

aSet’s unionSet:bSet –和集合
aSet’s allObjects() as list
–>  {​​​​​5, ​​​​​1, ​​​​​6, ​​​​​2, ​​​​​7, ​​​​​3, ​​​​​4​​​}

★Click Here to Open This Script 

Posted in list | Tagged 10.11savvy 10.12savvy 10.13savvy | Leave a comment

補集合(set difference)v2

Posted on 2月 7, 2018 by Takaaki Naganoya
AppleScript名:補集合(set difference)v2
— Created 2017-02-24 by Takaaki Naganoya
— Created 2017-03-01 by Shane Stanley
use AppleScript version "2.4"
use scripting additions
use framework "Foundation"
–http://piyocast.com/as/archives/4491

set aSet to current application’s NSMutableSet’s setWithArray:{1, 2, 3, 4}
set bSet to current application’s NSMutableSet’s setWithArray:{3, 5, 6, 7}

aSet’s minusSet:bSet –補集合
aSet’s allObjects() as list
–>  {​​​​​2, ​​​​​1, ​​​​​4​​​}

★Click Here to Open This Script 

Posted in list | Tagged 10.11savvy 10.12savvy 10.13savvy | Leave a comment

積集合(product)v2

Posted on 2月 7, 2018 by Takaaki Naganoya
AppleScript名:積集合(product)v2
— Created 2017-02-24 by Takaaki Naganoya
— Created 2017-03-01 by Shane Stanley
use AppleScript version "2.4"
use scripting additions
use framework "Foundation"
–http://piyocast.com/as/archives/4491

set aSet to current application’s NSMutableSet’s setWithArray:{1, 2, 3, 4}
set bSet to current application’s NSMutableSet’s setWithArray:{3, 5, 6, 7}

aSet’s intersectSet:bSet –積集合
aSet’s allObjects() as list
–>  {​​​​​3​​​}

★Click Here to Open This Script 

Posted in list | Tagged 10.11savvy 10.12savvy 10.13savvy | Leave a comment

文字を集合(CountedSet)に変換して文字列同士の近似度を計算する(単語単位で評価) v4

Posted on 2月 7, 2018 by Takaaki Naganoya
AppleScript名:文字を集合(CountedSet)に変換して文字列同士の近似度を計算する(単語単位で評価) v4
— Created 2017-03-18 by Takaaki Naganoya
— 2017 Piyomaru Software
use AppleScript version "2.4"
use scripting additions
use framework "Foundation"

set aStr to "This is a pinnapple."
set bStr to "This is an apple."
set cStr to "Piyomaru San Dayo."

set aRes to stringDifferenceWithAppearance(aStr, bStr, "A & B") of me
–>  {​​​​​intersect:2, ​​​​​minus:2, ​​​​​dataLabel:"A & B"​​​}

set bRes to stringDifferenceWithAppearance(bStr, cStr, "B & C") of me
–>  {​​​​​intersect:0, ​​​​​minus:4, ​​​​​dataLabel:"B & C"​​​}

set cRes to stringDifferenceWithAppearance(cStr, aStr, "C & A") of me
–>  {​​​​​intersect:0, ​​​​​minus:3, ​​​​​dataLabel:"C & A"​​​}

–結果をソートする
set allRes to current application’s NSArray’s arrayWithArray:{aRes, bRes, cRes}
set aSortDesc to current application’s NSSortDescriptor’s alloc()’s initWithKey:"intersect" ascending:false
set bSortDesc to current application’s NSSortDescriptor’s alloc()’s initWithKey:"minus" ascending:true
set aSortedArray to allRes’s sortedArrayUsingDescriptors:{aSortDesc, bSortDesc}

–もっとも似ている傾向を持つデータの組み合わせ
set aMostApproximative to aSortedArray’s firstObject() as record
–>  {​​​​​minus:2, ​​​​​dataLabel:"A & B", ​​​​​intersect:2​​​}

–文字列同士の近似傾向を、相違点と重複箇所の2つの方向から計算する
on stringDifferenceWithAppearance(aStr, bStr, aLabel)
  set aMinus to getApproximationBetweenStrings(aStr, bStr) of me
  
set aIntersect to getApproximationBetweenStringsIntersect(aStr, bStr) of me
  
return {intersect:aIntersect, minus:aMinus, dataLabel:aLabel}
end stringDifferenceWithAppearance

–与えられた文字列同士の相違点を計算する(結果がより小さい値のデータ同士が似ている)
on getApproximationBetweenStrings(aStr, bStr)
  set aList to current application’s NSMutableArray’s arrayWithArray:(words of aStr)
  
set bList to current application’s NSMutableArray’s arrayWithArray:(words of bStr)
  
  
set aIndex to current application’s NSCountedSet’s alloc()’s initWithArray:aList
  
set bIndex to current application’s NSCountedSet’s alloc()’s initWithArray:bList
  
  
aIndex’s minusSet:bIndex
  
set aRes to aIndex’s allObjects()’s |count|()
  
  
bIndex’s minusSet:aIndex
  
set bRes to bIndex’s allObjects()’s |count|()
  
  
if aRes ≥ bRes then
    return bRes
  else
    return aRes
  end if
end getApproximationBetweenStrings

–与えられた文字列同士の重複箇所を計算する(結果がより大きい値のデータ同士が似ている)
on getApproximationBetweenStringsIntersect(aStr, bStr)
  set aList to current application’s NSMutableArray’s arrayWithArray:(words of aStr)
  
set bList to current application’s NSMutableArray’s arrayWithArray:(words of bStr)
  
  
set aIndex to current application’s NSCountedSet’s alloc()’s initWithArray:aList
  
set bIndex to current application’s NSCountedSet’s alloc()’s initWithArray:bList
  
  
aIndex’s intersectSet:bIndex
  
set aRes to aIndex’s allObjects()’s |count|()
  
return aRes
end getApproximationBetweenStringsIntersect

★Click Here to Open This Script 

Posted in list | Tagged 10.11savvy 10.12savvy 10.13savvy | Leave a comment

文字を集合(CountedSet)に変換して文字列同士の近似度を計算する v3

Posted on 2月 7, 2018 by Takaaki Naganoya
AppleScript名:文字を集合(CountedSet)に変換して文字列同士の近似度を計算する v3
— Created 2017-03-18 by Takaaki Naganoya
— 2017 Piyomaru Software
use AppleScript version "2.4"
use scripting additions
use framework "Foundation"

set aStr to "This is a pinnapple."
set bStr to "This is an apple."
set cStr to "Piyomaru San Dayo."

set aRes to stringDifferenceWithAppearance(aStr, bStr, "A & B") of me
–>  {​​​​​intersect:11, ​​​​​minus:3​​​}

set bRes to stringDifferenceWithAppearance(bStr, cStr, "B & C") of me
–>  {​​​​​intersect:5, ​​​​​minus:8​​​}

set cRes to stringDifferenceWithAppearance(cStr, aStr, "C & A") of me
–>  {​​​​​intersect:5, ​​​​​minus:9​​​}

–結果をソートする
set allRes to current application’s NSArray’s arrayWithArray:{aRes, bRes, cRes}
set aSortDesc to current application’s NSSortDescriptor’s alloc()’s initWithKey:"intersect" ascending:false
set bSortDesc to current application’s NSSortDescriptor’s alloc()’s initWithKey:"minus" ascending:true
set aSortedArray to allRes’s sortedArrayUsingDescriptors:{aSortDesc, bSortDesc}

–もっとも似ている傾向を持つデータの組み合わせ
set aMostApproximative to aSortedArray’s firstObject() as record
–>  {​​​​​minus:3, ​​​​​dataLabel:"A & B", ​​​​​intersect:11​​​}

–文字列同士の近似傾向を、相違点と重複箇所の2つの方向から計算する
on stringDifferenceWithAppearance(aStr, bStr, aLabel)
  set aMinus to getApproximationBetweenStrings(aStr, bStr) of me
  
set aIntersect to getApproximationBetweenStringsIntersect(aStr, bStr) of me
  
return {intersect:aIntersect, minus:aMinus, dataLabel:aLabel}
end stringDifferenceWithAppearance

–与えられた文字列同士の相違点を計算する(結果がより小さい値のデータ同士が似ている)
on getApproximationBetweenStrings(aStr, bStr)
  set aList to current application’s NSMutableArray’s arrayWithArray:(characters of aStr)
  
set bList to current application’s NSMutableArray’s arrayWithArray:(characters of bStr)
  
  
set aIndex to current application’s NSCountedSet’s alloc()’s initWithArray:aList
  
set bIndex to current application’s NSCountedSet’s alloc()’s initWithArray:bList
  
  
aIndex’s minusSet:bIndex
  
set aRes to aIndex’s allObjects()’s |count|()
  
  
bIndex’s minusSet:aIndex
  
set bRes to bIndex’s allObjects()’s |count|()
  
  
if aRes ≥ bRes then
    return bRes
  else
    return aRes
  end if
end getApproximationBetweenStrings

–与えられた文字列同士の重複箇所を計算する(結果がより大きい値のデータ同士が似ている)
on getApproximationBetweenStringsIntersect(aStr, bStr)
  set aList to current application’s NSMutableArray’s arrayWithArray:(characters of aStr)
  
set bList to current application’s NSMutableArray’s arrayWithArray:(characters of bStr)
  
  
set aIndex to current application’s NSCountedSet’s alloc()’s initWithArray:aList
  
set bIndex to current application’s NSCountedSet’s alloc()’s initWithArray:bList
  
  
aIndex’s intersectSet:bIndex
  
set aRes to aIndex’s allObjects()’s |count|()
  
return aRes
end getApproximationBetweenStringsIntersect

★Click Here to Open This Script 

Posted in list | Tagged 10.11savvy 10.12savvy 10.13savvy | Leave a comment

配列から要素を削除する(要素をインデックスで指定)

Posted on 2月 6, 2018 by Takaaki Naganoya
AppleScript名:配列から要素を削除する(要素をインデックスで指定)
— Created 2017-02-24 11:37:14 +0900 by Takaaki Naganoya
— 2017 Piyomaru Software
use AppleScript version "2.4"
use scripting additions
use framework "Foundation"

–要素を削除する(要素をインデックスで指定)
set cMuta to current application’s NSMutableArray’s arrayWithObjects_(1, 2, 3)
cMuta’s removeObjectAtIndex:2
cMuta
–>  (NSArray) {​​​​​1, ​​​​​2​​​}

★Click Here to Open This Script 

Posted in list | Tagged 10.11savvy 10.12savvy 10.13savvy | Leave a comment

配列の要素を削除する(範囲を指定)

Posted on 2月 6, 2018 by Takaaki Naganoya
AppleScript名:配列の要素を削除する(範囲を指定)
— Created 2017-02-24 11:37:55 +0900 by Takaaki Naganoya
— 2017 Piyomaru Software
use AppleScript version "2.4"
use scripting additions
use framework "Foundation"

–要素を削除する(範囲を指定)
set dMuta to current application’s NSMutableArray’s arrayWithObjects_(1, 2, 3)
dMuta’s removeObjectsInRange:(current application’s NSMakeRange(0, 1))
dMuta
–>  (NSArray) {​​​​​2, ​​​​​3​​​}

★Click Here to Open This Script 

Posted in list | Tagged 10.11savvy 10.12savvy 10.13savvy | Leave a comment

配列の要素をすべて削除する

Posted on 2月 6, 2018 by Takaaki Naganoya
AppleScript名:配列の要素をすべて削除する
— Created 2017-02-24 11:38:17 +0900 by Takaaki Naganoya
— 2017 Piyomaru Software
use AppleScript version "2.4"
use scripting additions
use framework "Foundation"

–要素をすべて削除する
set eMuta to current application’s NSMutableArray’s arrayWithObjects_(1, 2, 3)
eMuta’s removeAllObjects()
eMuta
–>  (NSArray) {}

★Click Here to Open This Script 

Posted in list | Tagged 10.11savvy 10.12savvy 10.13savvy | Leave a comment

配列の最後の要素を削除する

Posted on 2月 6, 2018 by Takaaki Naganoya
AppleScript名:配列の最後の要素を削除する
— Created 2017-02-24 11:38:39 +0900 by Takaaki Naganoya
— 2017 Piyomaru Software
use AppleScript version "2.4"
use scripting additions
use framework "Foundation"

–最後の要素を削除する
set fMuta to current application’s NSMutableArray’s arrayWithObjects_(1, 2, 3)
fMuta’s removeLastObject()
fMuta
–>  (NSArray) {​​​​​1, ​​​​​2​​​}

★Click Here to Open This Script 

Posted in list | Tagged 10.11savvy 10.12savvy 10.13savvy | Leave a comment

配列の最初の要素を削除する

Posted on 2月 6, 2018 by Takaaki Naganoya
AppleScript名:配列の最初の要素を削除する
— Created 2017-02-24 11:38:58 +0900 by Takaaki Naganoya
— 2017 Piyomaru Software
use AppleScript version "2.4"
use scripting additions
use framework "Foundation"

–最初の要素を削除する
set gMuta to current application’s NSMutableArray’s arrayWithObjects_(1, 2, 3)
gMuta’s removeFirstObject()
gMuta
–>  (NSArray) {​​​​​2, ​​​​​3​​​}

★Click Here to Open This Script 

Posted in list | Tagged 10.11savvy 10.12savvy 10.13savvy | Leave a comment

Post navigation

  • Older posts
  • Newer posts

電子書籍(PDF)をオンラインストアで販売中!

Google Search

Popular posts

  • 開発機としてM2 Mac miniが来たのでガチレビュー
  • macOS 15, Sequoia
  • Pages本執筆中に、2つの書類モード切り替えに気がついた
  • Numbersで選択範囲のセルの前後の空白を削除
  • メキシカンハットの描画
  • Pixelmator Pro v3.6.4でAppleScriptからの操作時の挙動に違和感が
  • AppleScriptによる並列処理
  • Safariで「プロファイル」機能を使うとAppleScriptの処理に影響
  • macOS 15でも変化したText to Speech環境
  • AppleScript入門③AppleScriptを使った「自動化」とは?
  • デフォルトインストールされたフォント名を取得するAppleScript
  • macOS 15 リモートApple Eventsにバグ?
  • 【続報】macOS 15.5で特定ファイル名パターンのfileをaliasにcastすると100%クラッシュするバグ
  • Script Debuggerの開発と販売が2025年に終了
  • AppleScript入門① AppleScriptってなんだろう?
  • macOS 14で変更になったOSバージョン取得APIの返り値
  • NSObjectのクラス名を取得 v2.1
  • macOS 15:スクリプトエディタのAppleScript用語辞書を確認できない
  • 有害ではなくなっていたSpaces
  • Xcode上のAppleScriptObjCのプログラムから、Xcodeのログ欄へのメッセージ出力を実行

Tags

10.11savvy (1101) 10.12savvy (1242) 10.13savvy (1391) 10.14savvy (587) 10.15savvy (438) 11.0savvy (283) 12.0savvy (212) 13.0savvy (194) 14.0savvy (147) 15.0savvy (135) CotEditor (66) Finder (51) iTunes (19) Keynote (119) NSAlert (61) NSArray (51) NSBitmapImageRep (20) NSBundle (20) NSButton (34) NSColor (53) NSDictionary (28) NSFileManager (23) NSFont (21) NSImage (41) NSJSONSerialization (21) NSMutableArray (63) NSMutableDictionary (22) NSPredicate (36) NSRunningApplication (56) NSScreen (30) NSScrollView (22) NSString (119) NSURL (98) NSURLRequest (23) NSUTF8StringEncoding (30) NSView (33) NSWorkspace (20) Numbers (76) Pages (55) Safari (44) Script Editor (27) WKUserContentController (21) WKUserScript (20) WKWebView (23) WKWebViewConfiguration (22)

カテゴリー

  • 2D Bin Packing
  • 3D
  • AirDrop
  • AirPlay
  • Animation
  • AppleScript Application on Xcode
  • Beginner
  • Benchmark
  • beta
  • Bluetooth
  • Books
  • boolean
  • bounds
  • Bug
  • Calendar
  • call by reference
  • check sum
  • Clipboard
  • Cocoa-AppleScript Applet
  • Code Sign
  • Color
  • Custom Class
  • date
  • dialog
  • diff
  • drive
  • Droplet
  • exif
  • file
  • File path
  • filter
  • folder
  • Font
  • Font
  • GAME
  • geolocation
  • GUI
  • GUI Scripting
  • Hex
  • History
  • How To
  • iCloud
  • Icon
  • Image
  • Input Method
  • Internet
  • iOS App
  • JavaScript
  • JSON
  • JXA
  • Keychain
  • Keychain
  • Language
  • Library
  • list
  • Locale
  • Localize
  • Machine Learning
  • Map
  • Markdown
  • Menu
  • Metadata
  • MIDI
  • MIME
  • Natural Language Processing
  • Network
  • news
  • Noification
  • Notarization
  • Number
  • Object control
  • OCR
  • OSA
  • parallel processing
  • PDF
  • Peripheral
  • process
  • PRODUCTS
  • QR Code
  • Raw AppleEvent Code
  • Record
  • rectangle
  • recursive call
  • regexp
  • Release
  • Remote Control
  • Require Control-Command-R to run
  • REST API
  • Review
  • RTF
  • Sandbox
  • Screen Saver
  • Script Libraries
  • sdef
  • search
  • Security
  • selection
  • shell script
  • Shortcuts Workflow
  • Sort
  • Sound
  • Spellchecker
  • Spotlight
  • SVG
  • System
  • Tag
  • Telephony
  • Text
  • Text to Speech
  • timezone
  • Tools
  • Update
  • URL
  • UTI
  • Web Contents Control
  • WiFi
  • XML
  • XML-RPC
  • イベント(Event)
  • 未分類

アーカイブ

  • 2025年6月
  • 2025年5月
  • 2025年4月
  • 2025年3月
  • 2025年2月
  • 2025年1月
  • 2024年12月
  • 2024年11月
  • 2024年10月
  • 2024年9月
  • 2024年8月
  • 2024年7月
  • 2024年6月
  • 2024年5月
  • 2024年4月
  • 2024年3月
  • 2024年2月
  • 2024年1月
  • 2023年12月
  • 2023年11月
  • 2023年10月
  • 2023年9月
  • 2023年8月
  • 2023年7月
  • 2023年6月
  • 2023年5月
  • 2023年4月
  • 2023年3月
  • 2023年2月
  • 2023年1月
  • 2022年12月
  • 2022年11月
  • 2022年10月
  • 2022年9月
  • 2022年8月
  • 2022年7月
  • 2022年6月
  • 2022年5月
  • 2022年4月
  • 2022年3月
  • 2022年2月
  • 2022年1月
  • 2021年12月
  • 2021年11月
  • 2021年10月
  • 2021年9月
  • 2021年8月
  • 2021年7月
  • 2021年6月
  • 2021年5月
  • 2021年4月
  • 2021年3月
  • 2021年2月
  • 2021年1月
  • 2020年12月
  • 2020年11月
  • 2020年10月
  • 2020年9月
  • 2020年8月
  • 2020年7月
  • 2020年6月
  • 2020年5月
  • 2020年4月
  • 2020年3月
  • 2020年2月
  • 2020年1月
  • 2019年12月
  • 2019年11月
  • 2019年10月
  • 2019年9月
  • 2019年8月
  • 2019年7月
  • 2019年6月
  • 2019年5月
  • 2019年4月
  • 2019年3月
  • 2019年2月
  • 2019年1月
  • 2018年12月
  • 2018年11月
  • 2018年10月
  • 2018年9月
  • 2018年8月
  • 2018年7月
  • 2018年6月
  • 2018年5月
  • 2018年4月
  • 2018年3月
  • 2018年2月

https://piyomarusoft.booth.pm/items/301502

メタ情報

  • ログイン
  • 投稿フィード
  • コメントフィード
  • WordPress.org

Forum Posts

  • 人気のトピック
  • 返信がないトピック

メタ情報

  • ログイン
  • 投稿フィード
  • コメントフィード
  • WordPress.org
Proudly powered by WordPress
Theme: Flint by Star Verte LLC