我正在使用HTML5来编写游戏; 我现在遇到的障碍是如何播放声音效果.
具体要求很少:
我的第一种方法是使用HTML5 <audio>
元素并在我的页面中定义所有声音效果.Firefox播放WAV文件只是很好,但#play
多次调用并不能真正多次播放样本.根据我对HTML5规范的理解,该<audio>
元素还可以跟踪播放状态,因此可以解释原因.
我的直接想法是克隆音频元素,所以我创建了以下微小的JavaScript库来为我做(取决于jQuery):
var Snd = {
init: function() {
$("audio").each(function() {
var src = this.getAttribute('src');
if (src.substring(0, 4) !== "snd/") { return; }
// Cut out the basename (strip directory and extension)
var name = src.substring(4, src.length - 4);
// Create the helper function, which clones the audio object and plays it
var Constructor = function() {};
Constructor.prototype = this;
Snd[name] = function() {
var clone = …
Run Code Online (Sandbox Code Playgroud) 我收到以下错误:
$script/console
Loading development environment (Rails 2.2.2)
/opt/ruby-enterprise-1.8.6-20080709/lib/ruby/1.8/irb/completion.rb:10:in `require': no such file to load -- readline (LoadError)
Run Code Online (Sandbox Code Playgroud)
我在哪里可以获取该文件以及它应该进入哪个目录?
谢谢!
我从代码的另一部分有一系列团队名称,我想找到不在该数组中的所有团队.我尝试过以下内容并不起作用.
@team_exclude_list = ['Team 1', 'Team 2', 'Team 3']
@teams = Team.where("name != ?", @team_exclude_list)
Run Code Online (Sandbox Code Playgroud)
这是在Rails 3中,Googles并没有给我太多的爱.
我见过的大多数Win32主循环都是这样的结构:
while (GetMessage(&message, NULL, 0, 0) > 0) {
TranslateMessage(&message);
DispatchMessage(&message);
}
Run Code Online (Sandbox Code Playgroud)
有人指出,MsgWaitForMultipleObjects
可以用来为主循环添加一些变化.但有地方之间做一些场景GetMessage
,TranslateMessage
和DispatchMessage
实际上是有用的?
我有一个宠物项目,我用它来试验C++ 11的新功能.虽然我有C的经验,但我对C++还不熟悉.为了训练自己进入最佳实践,(除了阅读很多),我已经启用了一些严格的编译器参数(使用GCC 4.4.1):
-std=c++0x -Werror -Wall -Winline -Weffc++ -pedantic-errors
Run Code Online (Sandbox Code Playgroud)
这对我来说很好.到现在为止,我已经能够解决所有障碍.但是,我有需要enable_shared_from_this
,这给我带来了问题.编译我的代码时可能会收到以下警告(在我的情况下是错误的)(可能由触发器引发-Weffc++
):
base class ‘class std::enable_shared_from_this<Package>’ has a non-virtual destructor
Run Code Online (Sandbox Code Playgroud)
所以基本上,我对这个实现有点疑虑enable_shared_from_this
,因为:
enable_shared_from_this
.但我正在寻找解决这个问题的方法,所以我的问题是,是否有正确的方法来解决这个问题?并且:我认为这个析构函数是假的,或者它有真正的目的吗?
在这一点上我确信我应该std::exception
为我的所有异常抛出需求创建子类.现在我正在研究如何覆盖该what
方法.
我面临的情况,如果字符串what
返回是动态的,那将非常方便.例如,某些代码解析XML文件,并向错误消息添加位置或行号对我很有用.
我试图遵循Boost Exception处理指南.
我想知道的是什么:
what
返回一个const char *
,这意味着任何捕手都可能不会释放该字符串.所以我需要一些其他的地方来存储结果,但那会是哪里?(我需要线程安全.)
what
还包括throw()
其签名.虽然我可以阻止我what
扔任何东西,但在我看来,这种方法真的不适合任何过于动态的东西.如果what
不是正确的地方,那么我应该在哪里做这个呢?
从我到目前为止得到的答案看来,实现这一目标的唯一方法是将字符串存储在异常中.Boost指南建议不要这样做,这对我来说很困惑,因为std::runtime_error
就是这样.
即使我使用的是C字符串,我也必须使用静态大小的缓冲区,或者进行内存管理也会失败.(我想知道这实际上是否是std::string
复制构造函数中唯一可能出错的东西.这意味着我不会使用动态分配的C字符串获得任何东西.)
还有其他选择吗?
虽然这个问题被标记为EventMachine,但任何语言的通用BSD套接字解决方案也非常受欢迎.
我有一个应用程序侦听TCP套接字.它使用常规的System V样式初始化脚本启动和关闭.
我的问题是它在准备好为TCP套接字服务之前需要一些时间来启动.它不会太长,也许只有5秒,但是在工作日需要重启时,这个时间太长了5秒.现有连接保持打开并正常完成也很重要.
重新启动应用程序的原因是补丁,升级等.不幸的是,我发现自己的位置,每隔一段时间,我就需要在生产中做这种事情.
我正在寻找一种方法来完成从一个进程到另一个进程的TCP侦听套接字的整齐移交,因此只能获得一秒钟的停机时间.我希望现有的连接/套接字保持打开状态并在旧进程中完成处理,而新进程开始为新连接提供服务.
是否有一些经过验证的方法使用BSD套接字执行此操作?(EventMachine解决方案的奖励积分.)
是否有可能实现这一点的开源库,我可以按原样使用,还是用作参考?(同样,非Ruby和非EventMachine解决方案也很受欢迎!)
我有几个C和C++项目都遵循我已经使用了一段时间的基本结构.我的源文件进入src/*.c
,中间文件进入obj/*.[do]
,顶级目录中的实际可执行文件.
我的makefile大致遵循这个模板:
# The final executable
TARGET := something
# Source files (without src/)
INPUTS := foo.c bar.c baz.c
# OBJECTS will contain: obj/foo.o obj/bar.o obj/baz.o
OBJECTS := $(INPUTS:%.cpp=obj/%.o)
# DEPFILES will contain: obj/foo.d obj/bar.d obj/baz.d
DEPFILES := $(OBJECTS:%.o=%.d)
all: $(TARGET)
obj/%.o: src/%.cpp
$(CC) $(CFLAGS) -c -o $@ $<
obj/%.d: src/%.cpp
$(CC) $(CFLAGS) -M -MF $@ -MT $(@:%.d=%.o) $<
$(TARGET): $(OBJECTS)
$(LD) $(LDFLAGS) -o $@ $(OBJECTS)
.PHONY: clean
clean:
-rm -f $(OBJECTS) $(DEPFILES) $(RPOFILES) $(TARGET)
-include …
Run Code Online (Sandbox Code Playgroud) 我想使用该clone
函数的命名空间功能.阅读该联机帮助页,似乎clone
有许多我需要担心的错综复杂的细节.
有没有相同的clone
调用好'ol' fork()
?
我已经熟悉了fork
,并且相信如果我有一个起点clone
,我可以从那里添加标志和选项.
在Rails中,down
默认情况下,迁移具有恢复迁移的方法.但是,在什么情况下我还想恢复迁移?
无论是在开发还是生产中,在我运行迁移之前,我总是会有一个我的数据库快照.特别是对于执行数据转换的迁移,我发现在大多数情况下恢复快照甚至比恢复迁移更快.(所以我绝不会急于做!)
如果迁移失败,它将:
如果所做的更改是在生产中(或在开发的后期),后来证明是一个错误,我会在新的迁移中修复我的错误.我不会还原旧的.在开发中,我只是删除迁移.
我还发现down方法引入了额外的代码,我重复自己,因此可能会引入新的bug.这违反了DRY原则.
所以我对职业选手很好奇,因为我想不到任何优点.
我需要遍历一个数组,并在Perl中有条件地删除元素.我知道slice
,但不知道如何在foreach
上下文中使用它.
在Ruby中,有reject!
:
foo = [2, 3, 6, 7]
foo.reject! { |x| x > 3 }
p foo # outputs "[2, 3]"
Run Code Online (Sandbox Code Playgroud)
是否有Perl等价物?
我最终可能会在长时间运行的 Web 应用程序中处理以 Blob 为代表的大量数据。其中一些使用 XHR(缓存友好)获得,其他使用new Blob(...)
.
我主要关心的是如何管理这些斑点。我最初的想法是保留一些参考资料。但如果在应用程序的整个生命周期中将大量数据保留在内存中,那就很糟糕了。
我有一个Rails应用程序,其中有一个名为friendrequests
.它看起来像这样:
user1_id:integer user2_id:integer hasaccepted:boolean
Run Code Online (Sandbox Code Playgroud)
我正在创建添加朋友的选项,但是朋友请求只能发送一次.所以你不能在数据库的数据中有这样的东西:
user1_id | user2_id | hasaccepted
1 | 2 | false
1 | 2 | false
Run Code Online (Sandbox Code Playgroud)
要么
user1_id | user2_id | hasaccepted
1 | 2 | false
2 | 1 | false
Run Code Online (Sandbox Code Playgroud)
user1_id/user2_id组合必须是唯一的,而不是列本身,所以这是可能的:
user1_id | user2_id | hasaccepted
1 | 2 | false
1 | 3 | false
Run Code Online (Sandbox Code Playgroud)
是否可以在模型中定义它?我怎样才能做到这一点?