例如,而不是
- op =;
val it = fn : ''a * ''a -> bool
Run Code Online (Sandbox Code Playgroud)
我宁愿拥有
- op =;
val it = fn : ''a -> ''a -> bool
Run Code Online (Sandbox Code Playgroud)
用于
val x = getX()
val l = getList()
val l' = if List.exists ((op =) x) l then l else x::l
Run Code Online (Sandbox Code Playgroud)
显然,我可以自己做这件事,例如,
val l' = if List.exists (fn y => x = y) l then l else x::l
Run Code Online (Sandbox Code Playgroud)
但我想确保我不会错过更优雅的方式.
我有 :
class Award(models.Model) :
name = models.CharField(max_length=100, db_index=True)
class Alias(models.Model) :
awards = models.ManyToManyField('Award', through='Achiever')
class Achiever(models.Model):
award = models.ForeignKey(Award)
alias = models.ForeignKey(Alias)
count = models.IntegerField(default=1)
Run Code Online (Sandbox Code Playgroud)
我怎样才能Alias拥有全部achiever_set和awards预先填充的?
>>> db.reset_queries()
>>> Alias.objects.filter(id="450867").select_related("achiever_set__award").get().achiever_set.all()[0].award.name
u'Perma-Peddle'
>>> len(db.connection.queries)
3
>>> db.reset_queries()
>>> Alias.objects.filter(id="450867").select_related("awards").get().awards.all()[0].name
u'Dwarfageddon (10 player)'
>>> len(db.connection.queries)
2
Run Code Online (Sandbox Code Playgroud)
我将需要很多访问别名已经获得的奖项(中间表和奖项本身).我如何批量所有这些?
在Windows API调用之后,如何以文本形式获取最后一条错误消息?
GetLastError() 返回一个整数值,而不是文本消息.
通常(根据我的理解)我必须遵循很多步骤
覆盖"等于"以检查对象的状态.
示例:
public override bool Equals(object obj)
{
if (obj is SalesPerson && obj != null)
{
SalesPerson temp;
temp = (SalesPerson)obj;
if (temp.fName == this.fName && temp.lName == this.fName
&& temp.personAge == this.personAge )
{
return true;
}
else
{
return false;
}
}
return false;
}
Run Code Online (Sandbox Code Playgroud)
LINQ或其他技术的任何其他选择给我快捷代码?
更新:
此外,当我覆盖"等于"时,我也必须覆盖GetHasCode().
我需要阅读Shaffer的"数据结构和算法分析的实用介绍",但是本书中的代码示例都是用C++编写的,我不知道.我已经知道C和Java,并且想知道你是否知道任何有助于学习足够C++的资源,如果你已经知道另一种语言,就能快速理解这些例子.谢谢!
我想抓住10个最有序的产品.我的表看起来与此类似:
产品ProductID | ProductName
OrderedProductProductID | OrderID
订购OrderID | DateOrdered
目前我有以下内容:
return (from product in db.Products
from orderedProduct in db.OrderedProducts
where orderedProduct.ProductID == product.ProductID
select product).OrderByDescending(???).Distinct().Take(10);
Run Code Online (Sandbox Code Playgroud)
我在上面的查询中已经注意到我不确定要放什么.如何按订购产品表中显示的产品数量进行排序?
我想使用greasemonkey从Last.fm中抓取wiki数据(这不适用于他们的REST api).我可以使用GM_xmlhttpRequest()获取页面,并且它正在正常返回.
我不想使用DOM处理器来处理整个页面,因为我只想要一个小块,所以我使用正则表达式.
维基数据在页面中如下:
<div id="wiki">
description
description
...
</div>
Run Code Online (Sandbox Code Playgroud)
所以我写道:
/\<div id="wiki"\>(.+)\<\/div\>/m.exec(data)[1];
Run Code Online (Sandbox Code Playgroud)
当我在错误控制台中测试它时(多行被平铺成一行,它可以工作,但在页面上它失败并说
Error: /\<div id="wiki"\>(.+)\<\/div\>/m.exec(data) is null
Source File: file:///home/jeff/.mozilla/firefox/x4su9596.default/extensions/%7Be4a8a97b-f2ed-450b-b12d-ee082ba24781%7D/components/greasemonkey.js
Line: 357
Run Code Online (Sandbox Code Playgroud)
我猜多线模式不会使多线匹配新线,这是我的预期.如何使其匹配任何字符,包括换行符?
是否有快速方法(现有方法)将数组元素连接成字符串,并使用','作为分隔符?具体来说,我正在寻找替代以下例程的单行方法:
//given ('a','b','c'), it will return 'a,b,c'
private static function ConstructArrayConcantenate($groupViewID)
{
$groupIDStr='';
foreach ($groupViewID as $key=>$value) {
$groupIDStr=$groupIDStr.$value;
if($key!=count($groupViewID)-1)
$groupIDStr=$groupIDStr.',';
}
return $groupIDStr;
}
Run Code Online (Sandbox Code Playgroud) 我将PHP数组传递给javascript函数.我知道这样做的唯一方法是从PHP数组创建一个js数组并将其传递给js函数.但这会产生大量的代码转移(参见下面的代码 - 还有更多但我确信你会得到一般的想法).我怀疑有一种更有效的方法.有人愿意和我分享吗?谢谢!
<script type="text/javascript">
jsInit("http://railsacrosseurope.com/public",
"http://railsacrosseurope.com",
"85572859349");var routeCount = [75];
var train = [75];
train[1] = [];
train[1][0] = [];
train[1][0]['player_num'] = 5;
train[1][0]['line'] = 'RED';
train[1][0]['track_unit'] = 0;
train[1][0]['direction'] = '_';
train[1][0]['dest_city'] = 43;
train[1][0]['status'] = 'ARRIVED';
train[1][0]['route_id'] = 1;
train[1][0]['goods'] = [];
routeCount[1] = [];
routeCount[1]['route_id'] = 1;
routeCount[1]['count'] = drawTrack(68, 658, 149, 568, '#888', train[1]);
train[2] = [];
routeCount[2] = [];
routeCount[2]['route_id'] = 2;
routeCount[2]['count'] = drawTrack(10, 571, 149, 568, '#888', train[2]);
train[3] = [];
routeCount[3] …Run Code Online (Sandbox Code Playgroud)