我正在尝试使用canvas在HTML5中重新创建页面翻转类型动画.动画基于此页面中的想法.但这并不重要.我遇到的问题是使用'source-in'复合操作并没有给我我期望的结果,并且想澄清为什么.我认为它只适用于chrome,而不适用于FF 3.6.
黑色矩形应该作为翻转页面的"掩码".我想要看到的只是它与面具重叠的区域中的翻页.问题是绘制整个黑色矩形,而不仅仅是它们重叠的区域.
我知道HTML5还没有被使用,我只是在试验我的个人网站和好奇心.任何想法将不胜感激.
随着我的应用程序中的数据库的增长,它将需要越来越多的内部手机空间.数据库中没有任何敏感/私人数据,所以我有兴趣将其移动到SD卡.
我正在使用SQLiteOpenHelper来协助数据库工作.我的理解是,您不能将其用于SD卡上的DB访问,因为您无法定义数据库路径.但是,Internet上有一些(非常差的)示例表明您可以覆盖此限制.但是我从来没有得到其中一个代码示例来编译.
可能吗?如果是这样 - 怎么样!请注意,Froyo的"SD卡上的应用程序"功能不起作用,因为它不会移动内部文件.
我正在编写一个小应用程序,必须在执行之前执行一些"健全性检查".(例如,健全性检查:测试某条路径是否可读/可写/存在)
代码:
import logging
import os
import shutil
import sys
from paths import PATH
logging.basicConfig(level=logging.DEBUG)
log = logging.getLogger('sf.core.sanity')
def sanity_access(path, mode):
ret = os.access(path, mode)
logfunc = log.debug if ret else log.warning
loginfo = (os.access.__name__, path, mode, ret)
logfunc('%s(\'%s\', %s)==%s' % loginfo)
return ret
def sanity_check(bool_func, true_func, false_func):
ret = bool_func()
(logfunc, execfunc) = (log.debug, true_func) if ret else \
(log.warning, false_func)
logfunc('exec: %s', execfunc.__name__)
execfunc()
def sanity_checks():
sanity_check(lambda: sanity_access(PATH['userhome'], os.F_OK), \
lambda: None, sys.exit)
Run Code Online (Sandbox Code Playgroud)
我的问题与sanity_check功能有关.
这个函数有3个参数(bool_func …
我想在java中的字符串中找到以"#"符号开头的单词.标志和单词之间也可以有空格.
该字符串"hi #how are # you"应输出为:
how
you
Run Code Online (Sandbox Code Playgroud)
我用regex尝试了这个,但仍然找不到合适的模式.请帮帮我.
谢谢.
我有大约1500个文件要编译,其中15-20个文件有编译错误.这些文件不在我的控制之下,所以我无法进行任何修改/更新/删除.所以,我在这里有两个问题.
1)如何忽略这些15-20文件中的编译错误,并继续为其余文件生成.class文件.是否有任何javac命令行选项或任何会忽略compliation错误并为所有其他非错误文件生成.class文件.
2)java编译器会在看到这些错误后立即中止编译,还是会继续编译(生成.class文件)其他所有内容,最后会抱怨这些文件有错误.
我在eclipse中有一个多项目Scala工作区.我认为我对Scala导入软件包的方式缺乏了解,但是我花了更多的时间来考虑寻找解决方案后,我无法想象这一点.我在一个简单的2项目设置中重新创建了这个问题.
项目1:com.foo.mathematics包含一个简单的Vector类
包含一个文件:
package com.foo.mathematics
class Vector2D(x : Double, y : Double) {
def length = math.sqrt(x*x + y*y)
}
Run Code Online (Sandbox Code Playgroud)
项目2:com.foo.analysis
package com.foo.analysis
import com.foo.mathematics.Vector2D
class Frame(xAxis : Vector2D, yAxis : Vector2D) {
}
Run Code Online (Sandbox Code Playgroud)
Eclipse在导入行中显示错误,我得到的错误消息是:对象数学不是包com.foo的成员.
在大纲视图中,我的import语句说明了这一点:
com.foo.analysis.<error: <none>>.Vector2D
Run Code Online (Sandbox Code Playgroud)
我尝试将导入更改为:
import mathematics.Vector2D
import _root_.com.foo.mathematics.Vector2D
Run Code Online (Sandbox Code Playgroud)
两个人都没有......
我错过了什么?
我对这怎么可能感到困惑......
var matcher = new RegExp("d", "gi");
matcher.test(item)
Run Code Online (Sandbox Code Playgroud)
上面的代码包含以下值
item = "Douglas Enas"
matcher = /d/gi
Run Code Online (Sandbox Code Playgroud)
然而,当我连续运行matcher.test函数时,第一次运行得到true,第二次运行得到false.
matcher.test(item) // true
matcher.test(item) // false
Run Code Online (Sandbox Code Playgroud)
如果我使用regexp文字,如
/d/gi.test("Douglas Enas")
Run Code Online (Sandbox Code Playgroud)
然后用铬背靠背运行我两次都是真的.对此有解释吗?
在chrome控制台中背对背运行的示例使用构造函数创建正则表达式对象
matcher = new RegExp("d","gi")
/d/gi
matcher.test("Douglas Enas")
true
matcher.test("Douglas Enas")
false
matcher
/d/gi
Run Code Online (Sandbox Code Playgroud)
示例使用文字的背靠背调用
/d/gi.test("Douglas Enas")
true
/d/gi.test("Douglas Enas")
true
Run Code Online (Sandbox Code Playgroud)
这个问题的原因是因为使用RegExp构造函数和测试函数对我失去匹配的值列表...但是使用文字我得到了我期望的所有值
UPDATE
var suggestions = [];
////process response
$.each(responseData, function (i, val)
{
suggestions.push(val.desc);
});
var arr = $.grep(suggestions, function(item) {
var matcher = new RegExp("d", "gi");
return matcher.test(item);
});
Run Code Online (Sandbox Code Playgroud)
在闭包内移动匹配器的创建包括缺少的结果."d"实际上是一个动态创建的字符串,但为简单起见,我使用了"d".我仍然不确定现在每次进行测试时都会创建一个新的表达式,当我迭代建议数组时会无意中排除结果仍然有点令人困惑,并且可能与匹配测试的进展有关
我正在尝试检查仿函数是否与给定的一组参数类型和给定的返回类型兼容(也就是说,给定的参数类型可以被隐含地转换为实际的参数类型,反之亦然的是返回类型).目前我使用以下代码:
template<typename T, typename R, template<typename U, typename V> class Comparer>
struct check_type
{ enum {value = Comparer<T, R>::value}; };
template<typename T, typename Return, typename... Args>
struct is_functor_compatible
{
struct base: public T
{
using T::operator();
std::false_type operator()(...)const;
};
enum {value = check_type<decltype(std::declval<base>()(std::declval<Args>()...)), Return, std::is_convertible>::value};
};
Run Code Online (Sandbox Code Playgroud)
check_type<T, V, Comparer>
这在大多数情况下非常struct foo{ int operator()() const;};好用,但是当我测试无参数仿函数时,它无法编译,因为在这种情况下,两个operator()基数显然是暧昧的,导致类似这样的事情:
error: call of '(is_functor_compatible<foo, void>::base) ()' is ambiguous
note: candidates are:
note: std::false_type is_functor_compatible<T, Return, Args>::base::operator()(...) const [with T = foo, Return …Run Code Online (Sandbox Code Playgroud) 考虑excel中的以下vba宏
Sub foo()
Dim aRng As Range: Set aRng = ActiveSheet.Range("A1:J1")
Dim bRng As Range: Set bRng = ActiveSheet.Range("A4:J4")
Dim cRng As Range: Set cRng = ActiveSheet.Range("A10:J10")
Dim uRng As Range: Set uRng = Union(aRng, bRng, cRng)
uRng.Style = "Good"
uRng.Cells(2, 1).Style = "Bad"
End sub
Run Code Online (Sandbox Code Playgroud)
结果是:第1行"A1:J1", "A4:J4", "A10:J10"是好的,细胞"A2"是坏的.我预计细胞"A4"会很糟糕."A2"不在uRng; 为什么会被退回uRng.Cells(2,1)?
其他奇怪之处:uRng.Rows.Count = 1和uRng.Columns.Count = 10.我错了预期uRng3x10范围?或者是不确定的,因为的位置aRng,bRng …