1read 100read
2011年10月1期旧・macScript 道場 rev.2 TOP カテ一覧 スレ一覧 削除依頼
・ 次のスレ
インターネットするなら、やっぱりMac
【教えて】Macの裏技【お願い】
MacOS Xは失敗するとっていたクソどもへ
■旧板住民基本台帳:コテハン登録スレ■


Script 道場 rev.2


1 :02/09/11 〜 最終レス :09/10/08
Macでスクリプト書いてるひと、みんな集まるにゃあ
スクリプトと名のつくものなら何でもいいにゃあ
【前スレ】
http://pc.2ch.net/test/read.cgi/jobs/1027891928/l50

rule
・雑談 : お〜け〜
・煽り : お手柔らかに
・荒し : まぁその〜
・騙り : ぞろぞろ

楽しく、有意義な場所になるといいにゃあ

2 :

3 :
こっちもがむばるにぁ

4 :
にゃあ♪

5 :
削除依頼が出てますよ?

6 :
重複スレがあります
資源を有効に利用しましょう

7 :
んじゃ、あいたくての続きをするにゃあ

8 :
本スレ
http://pc.2ch.net/test/read.cgi/jobs/1024591071/l50

9 :
foreach $aBoard (@board) {
foreach $aThread ($aBoard->threads()) {
foreach $aContr ($aThread->contributions()) {
if($aContr->contributor() =~ /◆9999ZEL./){
$aContr->setContributor("オナラー");
}
}
}
}

10 :
〜Macスティンガーミサイル《最終回》〜
スクリプト全体のアルゴリズムについては、前スレの>>544を参照してください
前スレ: http://pc.2ch.net/test/read.cgi/jobs/1027891928/l50
《第1回》は前スレの>>763に、《第2回》は>>775に、《第3回》は>>875-876
《第4回》は>>891-892に掲げています
今回は、入出力インターフェースを含めたUIに関するスクリプトです
実際にスクリプトを書くに当たり「AppleScriptリファレンス」を調べたところ
>>544において示したアルゴリズムは変更すべきであると判断しました
クリップボードに入っているデータの種類を取得するコマンドが用意されていたのです
ここではそのコマンドを用いています
また前回において、原文から改行を削除するステップを記述しましたが
より簡潔になるよう若干手を加えています
UIは個人の嗜好が最も反映される部分です
下記スクリプトをカスタマイズして、みなさんの手に馴染んだものにしてくださいね
なお、例によりスクリプトの一部を改竄し、そのままではコンパイルできないようにしてあります

11 :

tell application "Finder"
activate
if (clipboard info for string) = {} then
error "Clipboard Error"
else
set text item delimiters AppleScript to return
set B0 to every text item of (the clipboard)
set B0 to B0 as string
set B0 to every character of B0
end if
set text item delimiters AppleScript to ","
set A3 to every text item of (text returned of (display "Blank" default answer (A0 as string) & "," & (A1 as string) buttons {"OK"} default button 1)
set text item delimiters AppleScript to ""
set A4 to text returned of (display "Line" default answer (A2 as string) buttons {"OK"} default button 1)
set {A5, A6} to {item 1 of A3, item 2 of A3}

12 :
if (count A3) /= 2 then
error "Input Error"
else
try
set {A7, A8} to {A5 as number, A6 as number}
on error
error "Input Error"
end try
end if
if A7 > A8 then
error "Input Error"
else
try
set A9 to A4 as number
on error
error "Input Error"
end try
set {A0, A1, A2} to {A7, A8, A9}
end if
display "Blank : " & A5 & " - " & A6 & return & "Line : " & A4
 ---- ここに文字列処理のステップを挿入してくださいにゃあ ---- 
set the clipboard to "目標>>" & return & "★対ヨゴレ用Macスティンガーミサイル発射" & return & return & return & return & B2 & return & return & return &
"★宇宙のゴミとなってしまいました" & return & "★Macによって宇宙の平和と正義は守られました" & return & "★終わり"
beep of 2
display "Completed" buttons {"OK"} default Button 1
end tell

13 :
使い方
(1)処理対象の文字列をコピーします
(2)このスクリプトを実行します
 クリップボードに文字列以外のものが納められている場合はエラーを表示し
 スクリプトが終了します
(3)ひとつ目のダイアログにおいては、全角空きを何回続けるかについて指定します
 入力する際は「4,6」のように数字をカンマ「,」で区切ります
 初回実行時のデフォルト値は「4,6」です
 数字以外のもを入力した場合や
 「6,4」のようにひとつ目の数字がふたつ目の数字よりも大きい場合
 および書式が間違っている場合はエラーを表示し、スクリプトが終了します
(4)ふたつ目のダイアログにおいては、何文字で改行するかについて指定します
 初回実行時のデフォルト値は「40」です
 数字以外のもを入力した場合はエラーを表示し、スクリプトが終了します
(5)入力した数値を確認するダイアログが表示されます
 変更したい場合はキャンセルボタンを押し、もう一度(2)の手順からやり直してください
 ここでOKボタンを押すとこれらの数値がスクリプト自体に保存され
 次回実行時のデフォルト値となります
(6)ビープが2回鳴り、処理終了の旨をダイアログで表示します
 処理を施したデータはクリップボードに納められています

14 :
Macスティンガーミサイルも漸く完成の運びとなりました
当初は文字列を逆順に並べ替えるのが面倒であると考えていましたけれど
かえってUIの方が複雑になってしまいましたね
しかし、それも致し方ありません
ダイアログで入力されたデータを数字に変換したりとか
エラートラップを何重にも仕掛けたりとか
様々なオプションを付加してスクリプトを実用に耐え得るものにするためですからね
ところで、にゃあはサードパーティ製のOSAXを一切用いずにスクリプトを書きました
各種OSAXをインストールすればよりエレガントな
そしてより使い勝手のよいスクリプトに仕立てることが可能です
興味のある方は挑戦してみてくださいね
おつきあいいただきまして、有り難うございました♪
んじゃ、バンバンぶっ放して糞ウィナどもを宇宙の藻屑にしてくださいにゃあw

15 :
PS.
自動化Mac最高ですにゃあ

16 :
>>9
そ、そのスクリプトは、も、もしかして......
>>梨タン
AppleScriptにおいてバイト単位で文字列を扱う件は、前スレでレスしておきました
http://pc.2ch.net/test/read.cgi/jobs/1027891928/895

17 :
>>16
うん。見たよ。ありがと。
>>9
$targetita = '旧・mac';
foreach $ita (@ita) {
$ita->name() eq $targetita or goto SEEK_ONARAR;
}
die;
SEEK_ONARAR:
foreach $sure ($ita->sure()) {
foreach $kakiko ($sure->kakiko()) {
$kakiko->from() =~ /◆9999ZEL./ and $kakiko->from("オナラー");
}
}
もっと簡単かつ古くさく書くと、
@subject = split(/\n/, $subject_txt);
foreach (@subject) {
($dat, $name) = split(/\t/, $_); # タブじゃなかったっけ?
$dat = get_dat($dat);
$dat =~ s/◆9999ZEL./オナラー/g;
set_dat($dat) or die;
}

18 :
うぐぅ
perlですにゃあ

19 :
━━━━━━━━━━これにて、終了━━━━━━━━━━

20 :
━━━━━━━━━━それでは、再開━━━━━━━━━━

21 :
━━━━━━━━━━ここで、あげ━━━━━━━━━━

22 :
おれのMacJPerl製スティンガーは
1バイト消しているけどね。
初心者なもんで。
ただ、多少原型を残すように
分解している。

23 :
━━━━━━━━━━ここで、朝の食事シーン━━━━━━━━━━

24 :
━━━━━━━━━━前スレのおいらのリクエストはどうなった?━━━━━━━━━━

25 :
>>22
perlって結構面倒なんですね......
>>24
マジでわかんないにゃあ
手持ちのMacはすべてスタンドアローンで使っているので
オンラインのブラウザをどうやって制御するか、実験すらできないにゃあ
多分、他の人が回答してくれていると思うにゃあ
でも、perlは勉強してないから断言できないにゃあ

26 :
━━━━━━━━ギャルゲーをプレスいるシーン━━━━━━━━

27 :
プレスいるってなんのことかわかんないにゃあw

28 :
━━━━━━━━ここで入浴シーン━━━━━━━━

29 :
ハァハァ

30 :
━━━━━━━━ここで印籠を出す━━━━━━━━

31 :
えーい、かまうことぁねぇーっ!
てめぇーら、やっちまえーっ!!

32 :
━━━━━━━━ここで矢七登場━━━━━━━━

33 :
最近、痔の調子が悪いんで、あっしはこれで失礼さしてもらいやす

34 :
ケツを掘られ過ぎ

35 :
だって村澤さんが......

36 :
━━━━━━━━これが最近流行りスタイル?━━━━━━━━

37 :
━━━━━━━━元締さんがいないにゃあ━━━━━━━━

38 :
━━━━━━━━文章が長いときは━━━━━━━━
━━━━━━━━こうするのかにゃ?━━━━━━━

39 :
━━━━━━━━にゃあのほんもの2号━━━━━━━━
━━━━━━━━━━━登場!!━━━━━━━━━━━

40 :
━━━━━━━━ おまえらセンスねぇよ━━━━━━━━

41 :
━━━━━━━━クスン━━━━━━━━

42 :
━━━━━━━━ 来年の今ごろ━━━━━━━━

43 :
━━━━━━━━ このスレも━━━━━━━━

44 :
━━━━━━━━1周年おめでとう━━━━━━━━

45 :
━━━━━━━━と書かれるんだろな━━━━━━━━

46 :
━━━━━━━━コリン襲来のヨカーン━━━━━━━━

47 :
━━━━━━━━それまでに埋め立てられてたりして━━━━━━━━

48 :
━━━━━━━━オタも呼ぼうよン━━━━━━━━

49 :
━━━━━━━━それだけはやめてにゃあ━━━━━━━━

50 :
━━━━━━━━コリンが来る前に急いで埋めろ━━━━━━━━

51 :
━━━━━━━━いや削除してもらうにゃ━━━━━━━━

52 :
━━━━━━━━いぢわるしゃちだめにゃ━━━━━━━━

53 :
━━━━━━━━シリアル番号━━━━━━━━
━━━━━なんて書くと削除かにゃ━━━━━━

54 :
━━━━━━━━悪さはいけないにゃあ━━━━━━━━

55 :
━━━━━━━━03-xxxx-xxxx━━━━━━━━
━━━━━━━━というてすと━━━━━━━━━

56 :
━━━━━━━━にゃあタイーホです━━━━━━━━

57 :
━━━━━━━━あぼーん━━━━━━━━

58 :
━━━━━━━━━━ キリトリセン ━━━━━━━━━━

59 :
━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ヤマオリセン ━ ━ ━ ━ ━ ━ ━ ━ ━ ━

60 :
━━━━━━━━こんなスレ建てて━━━━━━━━
━━━━━━━━ スイマセン ━━━━━━━━━

61 :
━━━━━━━━なるほどにゃあ━━━━━━━━
━━━━━━━Mac短小ビームにゃあ━━━━━━━
━━━━━AppleScriptで書いてみるにゃあ━━━━━
━━━━━━辞書を作るしかないにゃあ━━━━━━

62 :
━━━━━━━━repeatが71回にゃあ━━━━━━━━

63 :
━━━━━━━━80回だったにゃあ━━━━━━━━

64 :
━━━━━━━━夕べは4回だったにゃあ━━━━━━━━

65 :
━━━━━━━━━━暇だなあ━━━━━━━━━━

66 :
━━━━━━━━ギャゲーで忙しいにゃあ━━━━━━━━

67 :
━━━━━━━━ロリ画像欲しいにゃあ━━━━━━━━
━━━━━━━直リンあるとうれしいにゃ━━━━━━━
━━━━━━━━━と言ってみる試験━━━━━━━━━

68 :
━━━━━━━━半角版にそんなスレがあったにゃ━━━━━━━━
━━━━━━━━マジ違法画像のリンクがあるにゃ━━━━━━━━
━━━━━━ブラクラありーのウィルスありーのだにゃ━━━━━━

69 :
変なスレが立ってたので覗いてみたらやっぱりにゃあがいた。
やっぱり、「きもいPCオタク」だったのね。

70 :
━━━━━━━━そんなのひどいにゃあ━━━━━━━━

71 :
━━━━━━━━ふん、いいもんにゃあ━━━━━━━━
━━━━━━どうせPen II 300でSEだにゃあ━━━━━━

72 :
━━━━━━━━━━━━━━━━
━━━━━━━えきすぱーと━━━━━━━

73 :
━━━━━━━━すけべ━━━━━━━━
━━━━━━━えろおやじ━━━━━━━

74 :
ニセモノにゃあが花盛りだにゃあw
今日はスクリプトねただにゃあ

75 :
〜Mac短小ビーム《全1回》〜
今回のスクリプトはすべてThinkPadのテキストエディタ上で書いたものであり
動作検証を行っていません
多分、まともに動いてくれるでしょうw

76 :
tell application "Finder"
activate
if (clipboard info for string) = {} then
error "Clipboard Error"
else
set A to the clipboard
set B0 to{"あ","い","う","え","お","ぁ","ぃ","ぅ","ぇ","ぉ","か","き","く","け","こ",
"が","ぎ","ぐ","け","ご","さ","し","す","せ","そ","ざ","じ","ず","ぜ","ぞ",
"た","ち","つ","て","と","だ","ぢ","づ","で","ど","っ","な","に","ぬ","ね","の",
"は","ひ","ふ","へ","ほ","ば","び","ぶ","べ","ぼ","ぱ","ぴ","ぷ","ぺ","ぽ",
"ま","み","む","め","も","や","ゆ","よ","ゃ","ゅ","ょ","ら","り","る","れ","ろ",
"わ","を","ん"}
set B1 to{"ア","イ","ウ","エ","オ","ァ","ィ","ゥ","ェ","ォ","カ","キ","ク","ケ","コ",
"ガ","ギ","グ","ゲ","ゴ","サ","シ","ス","セ","ソ","ザ","ジ","ズ","ゼ","ゾ",
"タ","チ","ツ","テ","ト","ダ","ヂ","ヅ","デ","ド","ッ","ナ","ニ","ヌ","ネ","ノ",
"ハ","ヒ","フ","ヘ","ホ","バ","ビ","ブ","ベ","ボ","パ","ピ","プ","ペ","ポ",
"マ","ミ","ム","メ","モ","ヤ","ユ","ヨ","ャ","ュ","ョ","ラ","リ","ル","レ","ロ",
"ワ","ヲ","ン"}
set B2 to{"ア","イ","ウ","エ","オ","ァ","ィ","ゥ","ェ","ォ","カ","キ","ク","ケ","コ",
"ガ","ギ","グ","ゲ","ゴ","サ","シ","ス","セ","ソ","ザ","ジ","ズ","ゼ","ゾ",
"タ","チ","ツ","テ","ト","ダ","ヂ","ヅ","デ","ド","ッ","ナ","ニ","ヌ","ネ","ノ",
"ハ","ヒ","フ","ヘ","ホ","バ","ビ","ブ","ベ","ボ","パ","ピ","プ","ペ","ポ",
"マ","ミ","ム","メ","モ","ヤ","ユ","ヨ","ャ","ュ","ョ","ラ","リ","ル","レ","ロ","ワ","ヲ","ン"}
set A to my X(A, B0, B2)
set the clipboard to my X(A, B1, B2)
beep of 2
diaplay dialog "Completed" buttons {"OK"} default button 1
end if
end tell

77 :
on X(A, B3, B4)
repeat with C from 1 to 80
set text item delimiter of AppleScript to (item C of B3)
set A to every text item of A
set text item delimiter of AppleScript to (item C of B4)
return (A as string)
end repeat
end X

78 :
早速バグをハケーン
サブルーチンの最後の3行は、次のように修正しなくてはなりません
set A to A as string
end repeat
return A
end X

79 :
およそ16%しかスクリプトねたがありませんにゃ
よっておひらきだにゃ

80 :
クスw

81 :
タッタタラリラ

82 :
ピーヒャラピーヒャラ

83 :
にゃあさんてば短小なの??

84 :
あはは
そんなことはありませんよw

85 :
ノノ画像きぼう

86 :
マジ?

87 :
お顔つきでお願いだにゃあ

88 :
やーい舌塩

89 :
あっかんべ

90 :
http://43.233.104.250/otakara/cgi-bin/img-box/img20020912001910.jpg

91 :
もっとほしいにゃ・
どんどんうpするにゃ

92 :
尊師のファンだにゃ

93 :
オウム晒し上げ

94 :
オナラーみないね。
いじめられすぎてラリッて入院中かな?

95 :
し?っ
そのことに触れちゃいけません。
やっと旧板からあのにおいが無くなりつつあるのだから

にゃあと入れ替っていたりして

96 :

97 :
>>96
ブラクラ?

98 :
>>90
ハァハァ
>>92
尊師はにゃあの弟子だにゃあw
>>94-95
Luciferタンをいぢめちゃダメにゃあ
SEくんならいぢめてもいいにゃあw
>>96
そんなの踏んだりしないにゃあ

99 :
99だにゃあ

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 削除依頼
・ 次のスレ
インターネットするなら、やっぱりMac
【教えて】Macの裏技【お願い】
MacOS Xは失敗するとっていたクソどもへ
■旧板住民基本台帳:コテハン登録スレ■