我想根据字符串长度对字符串列表进行排序.我尝试使用如下排序,但它似乎没有给我正确的结果.
xs = ['dddd','a','bb','ccc']
print xs
xs.sort(lambda x,y: len(x) < len(y))
print xs
['dddd', 'a', 'bb', 'ccc']
['dddd', 'a', 'bb', 'ccc']
Run Code Online (Sandbox Code Playgroud)
可能有什么问题?
我需要能够将2个大型集合合并到1.我可以使用哪种集合类型?我不需要随机访问各个元素.通常我会选择一个链表,但是我不能将Java中的2个链表与O(1)的运行时合并,这可以在许多其他语言中完成,因为我必须将每个元素复制到新的列表中.
编辑:谢谢你的所有答案.你的答案都非常有用,我设法完成了工作.下次我将使用自己的链接列表实现开始.
我尝试创建一个指令,当输入字段被标记为无效时,该指令应执行某些操作.对于这个例子,假设我有一个指令来检查输入是否是素数,并且我想创建一个指令,当该元素无效时,该指令会向该元素添加一个类:
<input type="text" ng-model="primeNumber" validate-prime invalid-add-class="error">
Run Code Online (Sandbox Code Playgroud)
validate-prime使用ng-model上的解析器和格式化程序来更新模型的有效性.
现在我希望invalid-add-class指令在模型无效时添加类"error",并在有效时删除它.换句话说,它应该观察模型控制器的$ valid(或$ invalid)属性.但是,我无法弄清楚如何使这个工作.我试过了:
link : function(scope, element, attrs, ctrl) {
ctrl.$watch("$valid", function(newVal, oldVal) {
//never fired
});
}
Run Code Online (Sandbox Code Playgroud)
也许我可以在范围上观察一些变量,但我不知道要注意哪个变量.
那么当模型的有效性发生变化时,如何通知我?
如何在apache中设置默认的VirtualHost?我希望默认主机不要与ip地址主机相同.现在我有这样的事情:
NameVirtualHost *
<VirtualHost *>
ServerAdmin admin@domain.com
DocumentRoot /someOtherDir/
ServerAlias ip.of.the.server
</VirtualHost>
<VirtualHost *>
ServerAdmin admin@domain.com
DocumentRoot /someroot/
ServerAlias domain.com *.domain.com
</VirtualHost *>
Run Code Online (Sandbox Code Playgroud)
如果域转发到我的服务器,但不在此vhost.conf文件中,则会按预期加载/ someOtherDir /中的文件.但我希望能够为ip-address本身和未添加到vhost.conf文件中的域使用不同的根(尚未).这可能吗?
编辑:纠正了我的代码,所以它看起来更像实际的vhost.conf文件
来自经典的OOP背景我最近开始学习更多有关JavaScript的知识.但是,有一点我无法弄清楚:
在经典的OOP语言中,您通常会为每个类创建一个单独的文件,因为这样可以更轻松地维护代码.JS没有真正的类,据我所知,也没有一种真正直接的方法来从一个文件中包含另一个JS文件.但是,当您在大型JS项目上与团队合作时,您可能希望将项目拆分为多个文件.这是怎么做到的?你在这些文件中放了什么,以及如何正确加载它们?
我试图使用JavaScript接收对象的原始CSS宽度值.但是,如果我使用:
var originalWidth = document.getElementById(<idOfObject>).style.width;
Run Code Online (Sandbox Code Playgroud)
它总是返回空白.我还注意到,使用此语法访问的任何属性都将返回空白.我知道确定给定的元素存在,因为
alert(document.getElementById(<idOfObject>));
Run Code Online (Sandbox Code Playgroud)
确实向我展示了正确的对象.
任何人都可以帮我解决这个问题吗?
我认为标题已经自我解释了,但是这里有一个例子来说明我的观点:
class Foo a where
someFunction :: a -> a -> Bool
instance Foo Bool
Run Code Online (Sandbox Code Playgroud)
当我编译它时,编译器会发出警告:
Warning:
No explicit method or default declaration for `someFunction'
in the instance declaration for `Foo Bool'
Run Code Online (Sandbox Code Playgroud)
调用该函数现在将导致运行时错误.为什么这是一个警告,而不是编译时错误?有没有办法使这成为编译时错误?
首先,我为非描述性标题道歉.由于我不知道实际发生了什么,所以我无法让它更具体.
现在我的问题.我已经为99个Haskell问题中的问题23实现了以下代码段,它应该n从列表中随机选择项目:
rndSelect' :: RandomGen g => [a] -> Int -> g -> ([a], g)
rndSelect' _ 0 gen = ([], gen)
rndSelect' [] _ _ = error "Number of items requested is larger than list"
rndSelect' xs n gen = ((xs !! i) : rest, gen'')
where (i, gen') = randomR (0, length xs - 1) gen
(rest, gen'') = (rndSelect' (removeAt xs i) (n - 1) gen')
rndSelectIO' :: [a] -> Int -> IO …Run Code Online (Sandbox Code Playgroud) 假设我有一个嵌套文档的索引,如下所示:
{
"id" : 1234
"cars" : [{
"id" : 987
"name" : "Volkswagen"
}, {
"id": 988
"name" : "Tesla"
}
]
}
Run Code Online (Sandbox Code Playgroud)
我现在想要获得符合特定标准的"汽车"文档的计数聚合,例如匹配搜索查询.我最初的尝试是以下查询:
{
"query" : {
"nested" : {
"path" : "cars",
"query" : {
"query_string" : {
"fields" : ["cars.name"],
"query" : "Tes*"
}
}
}
},
"aggregations" : {
"cars" :{
"nested" : {
"path" : "cars"
},
"aggs" : {
"cars" : {
"terms" : {
"field" : "cars.id"
}
}
}
}
} …Run Code Online (Sandbox Code Playgroud) 当我尝试使用它的远程ip-address连接到本地mysql数据库时,我得到访问被拒绝.当我尝试从外部计算机连接到同一个数据库时,它没有任何问题.当我使用localhost连接到本地数据库时,它也可以完美地工作.例如,如果数据库服务器具有ip 1.2.3.4,那么我得到以下结果:
# From the db server
mysql -u username -h localhost -p #works perfectly
mysql -u username -h 127.0.0.1 -p #works perfectly
mysql -u username -h 1.2.3.4 -p #Access denied
# From any other machine
mysql -u username -h 1.2.3.4 -p #works perfectly
Run Code Online (Sandbox Code Playgroud)
如何使用远程ip-address允许本地访问我的数据库?数据库服务器的操作系统是Fedora 15,MySQL版本是5.5.23.
haskell ×2
javascript ×2
algorithm ×1
angularjs ×1
apache ×1
coding-style ×1
collections ×1
ghc ×1
io-monad ×1
java ×1
list ×1
merge ×1
monads ×1
mysql ×1
python ×1
sorting ×1
typeclass ×1
virtualhost ×1