小编umo*_*mop的帖子

如何使用AppleScript将对象记录到控制台

我只想在我的AppleScript生命周期中记录对象的状态.在其他语言中,对象的toString()方法将呈现等效的文本,我可以使用它们.在AppleScript中,似乎并非如此.

convert applescript object to string (similar to toString)
Run Code Online (Sandbox Code Playgroud)

将finder对象(及其属性)输出到AppleScript Editor的"Results"窗口,但前提是它是最后一个执行的语句.

如果我有一个trace()语句(它接收一条消息用于记录):

on trace(message)
do shell script "cat >>~/log/applescript.txt <<END_OF_THE_LOG
" & (message as text) & "
END_OF_THE_LOG"
end trace
Run Code Online (Sandbox Code Playgroud)

我试着记录同一个对象

Can’t make properties of application "Finder" into type text.
Run Code Online (Sandbox Code Playgroud)

我对更好的登录控制台的方式持开放态度,但想知道如何在脚本中间编写对象的属性(如AppleScript编辑器)以进行测试.

applescript

48
推荐指数
3
解决办法
5万
查看次数

使用AVAudioPlayer播放攻击/延音(循环)/衰减的最佳方式

我在查找没有转换中断的攻击(声音开始)/延音(循环声音)/衰减(声音结束)序列时遇到问题.是否有任何好的库来处理这个,或者我应该用AVAudioPlayer自己动手?AudioQueue是一个更好看的地方吗?我曾经使用过SoundEngine.cpp,但这已经有一段时间了.CAF仍然是最好的格式吗?

谢谢!

iphone audio avaudioplayer iphone-sdk-3.0 audioqueue

5
推荐指数
1
解决办法
745
查看次数

使用静态与实例方法的AS3对象内存使用

这一直是我的长期好奇心,我还没有去寻找剖析,并且还没有看到它(AS3):

假设我有一节课:

class MyClass {
   public function myMethod():String {
       return "some return value";
   }
}
Run Code Online (Sandbox Code Playgroud)

这将被实例化很多次:

for (var i:Number = 0; i < 10000; i++) {
   var myObject:MyClass = new MyClass();
   trace(myObject.myMethod);
}
Run Code Online (Sandbox Code Playgroud)

更改myMethod为静态会对我的应用程序的内存占用量有任何改变吗?

mxmlc是否足够智能,可以对函数进行单一引用?

基本上,如果我保持我的方法非静态将有:

  1. 就内存而言,与静态版本没有区别
  2. 10,000个小实例引用单个函数
  3. 10,000个函数字节码重复

在记忆中?

actionscript-3

4
推荐指数
1
解决办法
1257
查看次数

在Textmate中断开切换 - 评论

我在TextMate for Actionscript 2中遇到了Toggle Comment命令("注释行/选择")的问题(我知道,我知道).我已经尝试完全剥离设置的语言以隔离问题,并试图通过Ruby,但都无济于事.我的问题是该命令坚持使用块注释进行注释切换(⌘+ /),并且在添加首选项文件以更改TM_COMMENT_MODE时不遵守.我甚至试过使用这个简单的偏好:

{   shellVariables = (
        {   name = 'TM_COMMENT_START';
            value = '// ';
        },
    );
}
Run Code Online (Sandbox Code Playgroud)

但没有运气.我希望有人比我自己更好地说Ruby(即,根本就是)可以找到一个简单的解决方案.您可以通过创建新的actionscript 2文件并尝试⌘+ /一段代码(甚至一行)在TextMate的任何(最近)安装中重现.与将使用行注释的JS文件对比.将"评论"片段从JavaScript复制到Actionscript包,问题将持续存在.

谢谢!

ruby textmate actionscript actionscript-2

3
推荐指数
1
解决办法
384
查看次数

具有旧NSData维护字节范围的新NSData

我有一个相当大的NSData(或NSMutableData,如果有必要)对象,我想从一个小块中取出并离开其余部分.由于我正在使用大量的NSData字节,我不想制作大的副本,而只是截断现有的字节.基本上:

  • NSData*source:<我要丢弃的几个字节> + <我要保留的大块字节>
  • NSData*destination:<我要保留的大块字节>

NSMutableData中有截断方法,但它们只截断它的结尾,而我想截断开头.我的想法是用这些方法做到这一点:

请注意,我在原始发布中使用了错误的(复制)方法.我已经编辑并修复了它

- (const void *)bytes
Run Code Online (Sandbox Code Playgroud)

- initWithBytesNoCopy:length:freeWhenDone:
Run Code Online (Sandbox Code Playgroud)

但是,我正在试图弄清楚如何用这些管理内存.我猜这个过程会是这样的(我把它放在哪里,我不知道该怎么做):

// Get bytes
const unsigned char *bytes = (const unsigned char *)[source bytes];

// Offset the start
bytes += myStart;

// Somehow (m)alloc the memory which will be freed up in the following step
?????

// Release the source, now that I've allocated the bytes
[source release];

// Create a new data, recycling the bytes so they don't have to be copied
NSData destination = …
Run Code Online (Sandbox Code Playgroud)

truncate nsdata nsmutabledata

2
推荐指数
1
解决办法
1万
查看次数

解释bash中变量的命令替换

对于FOO的以下值:

$ FOO='echo `echo hello`'
$ $FOO
`echo hello`
Run Code Online (Sandbox Code Playgroud)

我怎样才能获得预期的输出:

hello
Run Code Online (Sandbox Code Playgroud)

基本上,我如何解释变量内容中的命令替换?

bash environment-variables command-substitution

1
推荐指数
1
解决办法
882
查看次数