给出以下XML:
<users>
<user state="CA" sex="m">Max</user>
<user state="AZ" sex="f">Jen</user>
<user state="OR" sex="f">Kim</user>
<user state="NV" sex="m">Bob</user>
<user state="CA" sex="m">Jon</user>
<user state="AZ" sex="m">Jim</user>
<user state="OR" sex="f">Joy</user>
<user state="NV" sex="f">Amy</user>
</users>
Run Code Online (Sandbox Code Playgroud)
使用jQuery,有没有办法选择男性用户,来自CA或NV,但没有使用过滤功能?要清楚,我知道
$(xml).find("user[sex='m']")
Run Code Online (Sandbox Code Playgroud)
只选择男性用户
$(xml).find("user[state='CA'],[state='NV']")
Run Code Online (Sandbox Code Playgroud)
从CA或NV中选择所有用户.但是我无法将它们与单个选择器中的逻辑AND组合在一起.
但是,使用过滤器功能可以起到以下作用:
$(xml).find("user").filter(function() {
return $(this).attr('sex') == 'm' && ($(this).attr('state') == 'CA' || $(this).attr('state') == 'NV')
}).each(function() {
alert($(this).text());
});
Run Code Online (Sandbox Code Playgroud)
谢谢!
A NSInteger在32位平台上为32位,在64位平台上为64位.是否有一个NSLog总是匹配大小的说明符NSInteger?
建立
GCC_WARN_TYPECHECK_CALLS_TO_PRINTF 打开这让我有些悲伤:
#import <Foundation/Foundation.h>
int main (int argc, const char * argv[]) {
@autoreleasepool {
NSInteger i = 0;
NSLog(@"%d", i);
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
对于32位代码,我需要说明%d符.但是,如果我使用说明%d符,我在编译64位时会收到警告,建议我使用%ld.
如果我使用%ld匹配64位大小,编译32位代码时,我会收到警告,建议我使用%d.
如何一次修复这两个警告?是否有我可以使用的说明符?
这也影响[NSString stringWithFormat:]和[[NSString alloc] initWithFormat:].
我正在编写代码来验证用户是否属于特定的AD组.
当我检查时,这是组的详细信息:
"CN=Building - 28 (ALL),OU=Exchange Auto Groups,OU=AM,OU=schwab,DC=am,DC=corp,DC=schwab,DC=com"
Run Code Online (Sandbox Code Playgroud)
如果用户(例如:user1)属于该组,则我要验证该组.
我正在尝试使用返回用户所属的组列表的方法.在这里,我必须根据集团进行过滤.
用于引入用户所属的活动目录用户组的代码:
private List<string> GetUserGroupMembership(string userName)
{
var directoryEntry = new DirectoryEntry();
DirectorySearcher search = new DirectorySearcher();
**//filter based on the username**
search.Filter = String.Format("(cn={0})", userName);
**//How to filter based on the Group "CN=Building - 28 (ALL),OU=Exchange Auto Groups,OU=AM,OU=schwab,DC=am,DC=corp,DC=schwab,DC=com"**
search.PropertiesToLoad.Add("memberOf");
List<string> groupsList = new List<string>();
SearchResult result = search.FindOne();
if (result != null)
{
int groupCount = result.Properties["memberOf"].Count;
for (int counter = 0; counter < groupCount; counter++)
{
groupsList.Add((string)result.Properties["memberOf"][counter]); …Run Code Online (Sandbox Code Playgroud) 我正在编写一个脚本来获取Geolocations(Lat,lon),我可以使用它来集中我的谷歌地图实例.现在我使用2种可能的技术.一个是google.loader.ClientLocation对象.我还没有测试过这个,因为它为我返回null.我想因为我不住在普通的地方(威廉斯塔德,库拉索岛使用无线互联网连接.所以我的调制解调器是无线的.).
因此我制作了一个备用计划navigator.geolocation.这在Chrome中效果很好,但是firefox会超时并且在IE中根本不起作用.
有没有人知道一个很好的替代方法来获得用户的地理位置,或者有人建议我的代码如何变得更稳定.
我设置了超时navigator.geolocation,因为我不希望我的用户等待更多的为5秒.增加超时并不会提高firefox的可靠性.
function init_tracker_map() {
var latitude;
var longitude;
if(google.loader.ClientLocation) {
latitude = (google.loader.ClientLocation.latitude);
longitude = (google.loader.ClientLocation.longitude);
buildMap(latitude, longitude);
}
else if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(
function(position) {
latitude = (position.coords.latitude);
longitude = (position.coords.longitude);
buildMap(latitude, longitude);
},
function errorCallback(error) {
useDefaultLatLon();
},
{
enableHighAccuracy:false,
maximumAge:Infinity,
timeout:5000
}
);
}
else {
useDefaultLatLon();
}
}
function useDefaultLatLon() {
latitude = (51.81540697949437);
longitude = (5.72113037109375);
buildMap(latitude, longitude);
}
Run Code Online (Sandbox Code Playgroud)
PS.我知道有这样的SO更多的问题,但无法找到一个明确的答案.我希望人们做出一些新的发现.
更新: 尝试谷歌齿轮以及.再次成功镀铬.在FF和IE中失败.
var geo = google.gears.factory.create('beta.geolocation'); …Run Code Online (Sandbox Code Playgroud) 在Java中,序列化对象非常容易.在C++中,只有memcpy它们像C结构(没有多态性)才对安全(?)对象.在C++中,如果编译器能够生成默认(普通)复制构造函数,那么为什么它不能生成自动序列化的代码?
在Java中,只能从ctor访问静态函数和数据成员.在C++中,我可以愉快地使用ctor中的非静态成员和函数.
在Java中,我可以在类中初始化内联的数据成员.在C++中,这是一个编译错误.
在Java中,我可以初始化finalctor中的成员.在C++中,我必须const在初始化列表中初始化成员.在C++中,当控制到达ctor的主体时,所有成员ctor都运行了,对吧?
在Java中,ctor可以调用另一个ctor.在C++中,我们不能这样做.
在Java中,this直到ctor返回之后才无效(this参考的转义,多线程中的错误).什么时候this在C++中有效?在this可以很容易地在两个C++和Java中逸出:在构造函数登记尚未构造的对象,以监听器(观察者模式).
在Java中,我不能在派生类中创建基类private的公共函数.我很震惊地看到在C++中是好的甚至是有用的.
任何人都可以对这些差异做出简短的解释吗?
更新.到目前为止,试图收集答案.
Boost有类似序列化的支持.(托尼)
尽管我搞砸了这一点,但Alf P. Steinbach给出了一个有趣的例子.
C++ 0x将支持比C++ 98更实用的初始化.(Alf P. Steinbach)#3在C++ 0x中是合法的(Ken Bloom)
在构造函数的{body}开始执行时,保证在构造函数自己的类中声明的数据成员已完全构造.(C++ - FAQ-精简版)
C++ 0x将允许构造函数调用其他对等构造函数(Wikipedia,C++ 0x)
C++ 03考虑在构造函数完成执行时构造的对象(Wikipedia).
访问控制之类的东西与对象模型没什么关系:这是访问控制系统的一个特性,它是一个编译时功能.(Yttrill)
我目前正在编写一个使用BufferedWriter生成多个日志文件的应用程序.但是,在调试时,我想写入System.out而不是文件.我想我可以改变:
log = new BufferedWriter(new FileWriter(tokenizerLog));
Run Code Online (Sandbox Code Playgroud)
至:
BufferedWriter log = new BufferedWriter(new OutputStreamWriter(System.out));
log.write("Log output\n");
Run Code Online (Sandbox Code Playgroud)
而不是:
System.out.println("log output")
Run Code Online (Sandbox Code Playgroud)
新的OutputStreamWriter选项虽然没有奏效.如何只更改BufferedWriter构造函数中的Object以从文件重定向到Standard out.因为我有几个日志文件,我将写入,使用System.out无处不在,并将输出更改为文件实际上不是一个选项.
我正在尝试编译Apple设备将拥有的所有MAC地址的列表.oui.txt告诉我Apple已经分配了77个MAC范围.这些范围的形式为:
00:00:00
00:11:11
etc...
Run Code Online (Sandbox Code Playgroud)
这留给我追加的最后三个HEX数字.那是16^6.共有1291845632个Apple MAC地址.
我遇到的问题是编写一个程序来创建这些MAC地址的列表.这是我目前的代码:
import re
apple_mac_range = []
apple_macs = []
# Parse the HTML of http://standards.ieee.org/cgi-bin/ouisearch to get the MACs
with open('apple mac list', 'r') as f:
for line in f.readlines():
match = re.search(r'[\w\d]{2}-[\w\d]{2}-[\w\d]{2}', line)
if match:
apple_mac_range.append(match.group().split('-'))
for mac in apple_mac_range:
for i in range(1, 1291845633):
print i
Run Code Online (Sandbox Code Playgroud)
这给了我一个MemoryError......我怎样才能优化它?
我想知道您用于管理系统中可执行文件的方法是什么.例如,我几乎可以通过命令行访问所有内容,但现在我达到了路径字符串的限制,所以我无法再添加任何dir.
那么你推荐什么?很久以前,我尝试在属于路径的Dir中使用可执行文件的softLinks,但这种方法不起作用.将"只有可执行文件"抛给已知的Dir,几乎任何应用程序都需要一组文件,所以这也很糟糕.将可执行文件和他的所有文件都抛给一个已知的Dir,这样就可以了,但是在文件名中出现冲突的可能性非常高.创建一个HardLink?我不知道.你怎么看?
基本上我的问题是这个,为什么:
String word = "unauthenticated";
word.matches("[a-z]");
Run Code Online (Sandbox Code Playgroud)
归还假?(用java1.6开发)
基本上我想看看传递给我的字符串是否包含alpha字符.
我有一个棘手的场景,我想在某些条件下添加ScriptManager脚本引用,如下所示
<asp:ScriptManagerProxy ID="scriptManagerProxy1" runat="server">
<CompositeScript>
<Scripts>
<asp:ScriptReference path=/...." />
</Scripts>
</CompositeScript>
<asp:ScriptManagerProxy>
Run Code Online (Sandbox Code Playgroud)
我想仅在特定条件下制作此脚本参考,所以我做了如下
<% if(xyzclass.property)
{ %>
above code
<% } %>
Run Code Online (Sandbox Code Playgroud)
一旦我这样做,我得到错误
The Controls collection cannot be modified because the control contains code blocks (i.e. <% ... %>).
Run Code Online (Sandbox Code Playgroud)
我google了,试图将'#'添加为<%#但是添加'#'它找不到类(xyzclass),所以得到错误为
Expected class, delegate, enum, interface, or struct
Run Code Online (Sandbox Code Playgroud)
我也尝试过这里提到的工作 http://leedumond.com/blog/the-controls-collection-cannot-be-modified-because-the-control-contains-code-blocks/
到目前为止没有运气.如果我采用上面链接中提到的方法,它会说类似的东西
The base class includes the field '', but its type (System.Web.UI.ScriptManagerProxy) is not compatible with the type of control (System.Web.UI.ScriptManager).
Run Code Online (Sandbox Code Playgroud)
伙计们,我需要的只是动态地通过ScriptManager添加脚本.有没有什么方法在实践中也很好.
提前致谢,
的NiMesh
java ×3
c# ×2
javascript ×2
32bit-64bit ×1
asp.net ×1
asp.net-ajax ×1
attributes ×1
c++ ×1
cocoa ×1
constructor ×1
executable ×1
geolocation ×1
jquery ×1
memory ×1
nsinteger ×1
nslog ×1
objective-c ×1
optimization ×1
path ×1
python ×1
regex ×1
string ×1
windows ×1