我一直在花费一些业余时间为ActionScript 3开发一组集合,但是由于ActionScript 3在Dictionary Objects中处理相等性检查的方式,我遇到了一个非常严重的障碍.
当您比较字典中的键时,ActionScript使用===运算符来执行比较,这会产生一些令人讨厌的副作用,即只有对同一实例的引用才会解析为true而不是相等的对象.这就是我的意思:
const jonny1 : Person = new Person("jonny", 26);
const jonny2 : Person = new Person("jonny", 26);
const table : Dictionary = new Dictionary();
table[jonny1] = "That's me";
trace(table[jonny1]) // traces: "That's me"
trace(table[jonny2]) // traces: undefined.
Run Code Online (Sandbox Code Playgroud)
我试图解决这个问题的方法是提供一个Equalizer接口,如下所示:
public interface Equalizer
{
function equals(object : Object) : Boolean;
}
Run Code Online (Sandbox Code Playgroud)
这允许执行instanceOf-esq.每当我需要在我的集合中执行相等操作时检查(当对象没有实现Equalizer时,返回到===运算符); 然而,这并没有解决我的基础数据结构(字典对象)不知道这一点的事实.
我目前解决这个问题的方法是迭代遍历字典中的所有键,并在执行containsKey()或get()操作时执行相等性检查 - 但是,这几乎击败了hashmap的整个点(便宜的查询操作).
如果我无法继续使用Dictionary实例作为map的支持,我将如何为作为键传入的唯一对象实例创建哈希,以便我仍然可以保持相等?
我之前从未在XCode工作,但我正在设计一个名为OsiriX的开源放射学程序的插件(objective-c).我可以得到编译的东西,我甚至可以获得在OsiriX中运行的插件.但是,我不确定如何从XCode运行/调试它.运行/调试在我的xcode上显示为灰色.是因为没有主程序吗?
在我的Android应用程序中,我使用'startActivity'启动另一个活动.反正我有没有杀死我开始的活动?
谢谢.
目前,我正在读"人工智能:一种现代方法"(罗素+诺维格)和"机器学习"(米切尔) - 和努力学习AINN的基础知识.
为了理解一些基本的东西,我有两个"新手"的问题:
Q1:在遗传算法染色体001110和101101分别以下哪个后代可能是由一个单点交叉给出的两个父母A和B?
a:001101
b:001110
Q2:上述后代中的哪一个可能是由两点交叉造成的?为什么?
请指教.
随着每个页面刷新使用PHP随机生成文本.是否有更清洁的方法来解决这个问题?另外,这可以用jquery完成吗?
<?php
$random_text = array("Random Text 1",
"Random Text 2",
"Random Text 3",
"Random Text 4",
"Random Text 5");
srand(time());
$sizeof = count($random_text);
$random = (rand()%$sizeof);
print("$random_text[$random]");
?>
Run Code Online (Sandbox Code Playgroud) 我咬紧牙关,成为网页设计师,那里有太多好机会.我是一名专业的软件工程师,所以我想要正确处理这个问题.到目前为止,我完全相当擅长HTML/CSS/Javascript.我也很喜欢使用jQuery和Django和mySql.我已经制作了一些很酷的网站,但如果我想在很多网站上这样做,它需要太长时间.
这里是我的问题:我学到了CMS真的很好,用它(并坚持了下来),还是我花那个时候开发一些可重复使用的HTML/CSS模板,并用手做的一切?
到目前为止,我的CMS体验是设置它的开销很大,而且你需要进行很多自定义,无论如何你都在做CSS.
如果我走CMS路线 - 哪一个?
Web Dev的"最佳方法"是什么?我打算创建一个非常多样化的网站......
谢谢!!!
是否有可能(如果是的话,是否可取)在不使用SQL字符串的情况下对Hibernate映射数据进行查询,而是采用一些OOP方式?
我有一个类调用另一个类从URL解析(NSXMLParse).现在我想让这个调用它的类知道它什么时候完成,这样我就可以填充UI了.我猜一个代表将是要走的路,但我从来没有使用过一个,需要一些指导,如何这将是有线的.
谢谢
我试图让一个PHP文件写入驻留在同一文件夹中的文件.无论是php文件和它试图写有自己的权限设置为777的文件(其Linux服务器)以及它们所在的文件夹.每当我叫fopen()函数与"W"或"W +"模式,该函数只返回false.它在我学校的网络服务器上,所以我无法获得root权限,可以将文件的所有者更改为与apache相同的用户.有谁知道什么是错的?
更新:作为测试,我使用此代码:
$handle = fopen("test.txt", 'w');
if($handle === FALSE)
echo "\nfailed";
else
echo "\nsuccess";
fclose($handle);
Run Code Online (Sandbox Code Playgroud)
现在启用错误报告的输出是:
Warning: fopen(test.txt) [function.fopen]: failed to open stream: Permission denied in /<snip>/public_html/test.php on line 58
failed
Warning: fclose(): supplied argument is not a valid stream resource in /<snip>/public_html/test.php on line 63
Run Code Online (Sandbox Code Playgroud)
上面是我从php网站上为fileperms()函数复制的一些代码,它检查文本文件的权限,并报告-rwxrwxrwx
相关文件的ls -al输出是
ls -al *test*
-rwxrwxrwx 1 mag5 30 1475 Dec 9 00:02 test.php*
-rwxrwxrwx 1 mag5 30 8 Dec 8 14:54 test.txt*
Run Code Online (Sandbox Code Playgroud)
我也不确定这是否重要,但我的学校使用的是一个名为Andrew File系统的东西(http://en.wikipedia.org/wiki/Andrew_File_System).
编辑:我的问题是,原本"有没有一个标准名称,以展名单列表的功能,但只有一层深?",但查克的回答是措辞更接近我其实是想问问,所以我给它改名.不过,这三个答案对我都很有用.谢谢.
"扁平化"似乎是这需要一棵树,但是建立原子组成的列表深它们嵌套,但对于只有一个级别之后停止功能的功能广为接受的名字吗?所以((1 2)((3 4)(5 6))(7 8))"somethings"到(1 2(3 4)(5 6)7 8)."某些东西"在多种语言/库中是否有共同的名称?
这个问题的答案:
建议'链'可能是一个很好的猜测,但它是否足以成为"标准"?