2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

AppleScript アップルスクリプト 質問、発表 6

1 :名称未設定:2013/12/21(土) 21:50:45.07 ID:1PJJFexL0.net
質問、発表どっちでもスレ。

■注意
安直なスクリプト作成依頼、丸投げ、「こういうの作ってください!」はお断り。
わからない点、エラーが解決できない点についてはスクリプト片を添えて質問すること。
OSバージョンも忘れずに。

■参考
AppleScript Language Guide
https://developer.apple.com/library/mac/documentation/AppleScript/Conceptual/AppleScriptLangGuide/
TN2065: do shell script
https://developer.apple.com/library/mac/technotes/tn2065/
AppleScript: The Language of Automation
http://www.macosxautomation.com/applescript/
MacWiki - AppleScript
http://macwiki.sourceforge.jp/wiki/index.php/AppleScript
鳶嶋工房 / AppleScript
http://tonbi.jp/AppleScript/
AS Hole(AppleScriptの穴)
http://piyocast.com/as/
■過去スレ
1 http://pc11.2ch.net/test/read.cgi/mac/1174045850/
2 http://pc11.2ch.net/test/read.cgi/mac/1197443062/
3 http://pc11.2ch.net/test/read.cgi/mac/1223026902/
4 http://anago.2ch.net/test/read.cgi/mac/1256127156/
5 http://anago.2ch.net/test/read.cgi/mac/1330350325/

511 :名称未設定:2015/03/15(日) 22:10:53.64 ID:VmwaxW7K0.net
>>510
なるほど。どうも

512 :名称未設定:2015/04/09(木) 19:38:28.50 ID:4kDpug2w0.net
>>495
で書き込んだ者ですが、この度修正版が出たようです。
http://dougscripts.com/itunes/2015/04/security-update-2015-004-fixes-eppc-issue/

513 :名称未設定:2015/04/10(金) 11:37:48.95 ID:Tai/EZWG0.net
>>512
おめ

514 :名称未設定:2015/04/10(金) 14:53:52.05 ID:/ZQEY2Xe0.net
>>512
訂正。修正版が出たけど直ったのはMountain Lion、Marvericks、Yosemiteの間だけ。
Tigerとの間では通信できなかった。エラーメッセージは以下のように変わった。
$ osascript -e 'tell application "Finder" of machine "eppc://hoge.local" to quit'
2015-04-10 12:13:14.943 osascript[515:507] CFNetwork SSLHandshake failed (-9806)
2015-04-10 12:13:15.862 osascript[515:507] CFNetwork SSLHandshake failed (-4)
2015-04-10 12:13:16.159 osascript[515:507] CFNetwork SSLHandshake failed (-9806)
5:59: syntax error: Application isn’t running. (-600)

cmd+RでOS再インストールすれば元には戻せた。ぐぬぬ。

515 :名称未設定:2015/04/15(水) 13:35:28.38 ID:A/b2wCDlL
applescriptからrubyを実行した際に、
ruby1.8.7ではpで値を返しても日本語が化けなかったのですが、
ruby2.2.1からpで値を返すと日本語が化けます。putsの場合は大丈夫です。
仕様変更のためだと思うのですが回避方法はありますか?
単なる文字列ならputsで返しても良いのですが、配列を配列の状態で返したいので。

516 :名称未設定:2015/04/16(木) 08:13:05.28 ID:Zfi8c6iV6
>>515
自分も最近Rubyに手を出し始めたところで
あんまり詳しくないんだけど…

do shell script "ruby -Ku -e 処理内容"

とやってUTF8前提で処理を始めるのと、

require 'kconv' して、.toutf8 とやって
文字列を再度UTF8に変換するのを試すくらいしか
思いつかないね…

それか、単にRubyの配列をAppleScriptの配列(リスト)として受け取りたいだけなら、
文字化けしないputsで改行区切りのテキストとして受け取っておいて、
それをAppleScript's text item delimitersに改行を指定してやることで
リストに変換することはできると思う

AppleScript's text item delimitersはまぁ、splitコマンドみたいなもの
ちょっと使い方が特殊だけど、ググればサンプルスクリプトもいろいろ引っかかるはず

ていうか、scのMac板見てる人少ないんだね…
自分もRubyのこと興味あるから詳しい人のレスがつくの待ってたけど、
全然反応がない…

517 :515:2015/04/16(木) 09:03:32.79 ID:+ZLMD4wn4
>>516
レスありがとうござます。
本当人いない感じですね。試しにこっち(.sc)に書き込んでみたんですけど、.netで再質問してみます。

リスト変換は多次元配列なので単純にAppleScript's text item delimitersではできないんですよね。
前の仕様だとそのままpで書き出してrun scriptをかければリストに変換してくれたので。

ちなみに、良くわかってないのですがascii-8bitで出力されているような感じです。
force_encoding("utf-8")してもユニコードのまま吐き出されている感じです。
そして重要な事を書き忘れていましたが、do shell scriptではなくターミナルからrubyを実行した場合はpでもputsでもちゃんと日本語が表示されるんですよね。

ちなみに"こんにちは"をp出力すると
\"\\xE3\\x81\\x93\\xE3\\x82\\x93\\xE3\\x81\\xAB\\xE3\\x81\\xA1\\xE3\\x81\\xAF\"
force_encoding("utf-8")かけると
\"\\u3053\\u3093\\u306B\\u3061\\u306F\"

518 :515:2015/04/16(木) 09:04:05.04 ID:+ZLMD4wn4
なんかレスが2重になるw

519 :名称未設定:2015/04/16(木) 09:35:48.15 ID:fNeO9YuQ0.net
scの方に書き込んだのですが過疎っているようなのでこちらで再質問させてください。
下記の様なスクリプトを実行したときに戻り値が下の様になります。(ruby2.1.5)
"\"\\u3053\\u3093\\u306B\\u3061\\u306F\"
\"\\xE3\\x81\\x93\\xE3\\x82\\x93\\xE3\\x81\\xAB\\xE3\\x81\\xA1\\xE3\\x81\\xAF\"
こんにちは"
ruby1.8台の時は全て"こんにちは"で返っていたのですが、これを"こんにちは"として受け取る方法は無いのでしょうか?
ちなみにターミナルから普通にルビーを実行した場合は問題なく"こんにちは"として返ります。
単なる文字列ならputsで良いのですが配列を配列のままASに受け渡したいので。

set myScript to "#coding: utf-8
str=\"こんにちは\"
str2=ARGV[0]
p str,str2
puts str2"
do shell script "ruby -e " & quoted form of myScript & " " & quoted form of "こんにちは"

520 :名称未設定:2015/04/16(木) 11:29:38.57 ID:JP8CNjtg0.net
>>519
set myScript to "#coding: utf-8 \nstr=\"こんにちは\" \nstr2=ARGV[0] \np str,str2 \nputs str2"
do shell script "ruby -Ku -e" & quoted form of myScript & " " & quoted form of "こんにちは"
-Kオプションで文字コード指定すれば? しかしこのコードはこれで良いのか?

総レス数 1008
389 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★