一夜中睡了三次,起来三次,我不知道该怎么计算。
这些混乱的日子,无休无止,我数不清。
Do we really need to count?
有时候简单的数几个数也总是数不对,计算机如此擅长此事,而我们却没有给以足够的信赖。
TCountState = classprivateXes: TList;FXCount: Integer;publicprocedure AddX(X: XClass);procedure Reset;property XCount: Integer read FXCount;end;TCountState.AddX(X: XClass);beginif not Xes.Has(X) thenbeginXes.Add(X);Inc(XCount);end;end;TCountState.Reset;beginXCount := 0;// However, nothing be done with Xes here.end;
毫无疑问,在这千头万绪的岁月中,AddX()会在不同的线程中调用,即使算上脚指头,我们也无法数清楚XCount到底是什么了。好歹我们知道有个东西叫InterLockIncrement。
很好,似乎学会数数了,但是,看起来有时候还是会数错,尤其是在一次次的麻木与苏醒之后,也许想忘记过去,却不够彻底,忘了一些东西而记住了另一些东西,这会混乱不堪。所以,在醒来之前把过去消除掉吧,它可能是美好的回忆,但也可能是沉重的包袱,或者兼而有之。
Xes.Clear;这一次,可以坚信不用手指头也可以正确数数了。
等等,我们真的需要数吗?
这些混乱的日子,无休无止,是度日如年、一日三秋还是十年一梦,谁也数不清,只有日历最清楚。
还是直接问问它们吧。
TCountState = classprivateXes: TList;function GetXCount: Integer;publicprocedure AddX(X: XClass);procedure Reset;property XCount: Integer read GetXCount;end;TCountState.AddX(X: XClass);beginif not Xes.Has(X) thenbeginXes.Add(X);end;end;TCountState.GetXCount;beginResult := Xes.Count;end;TCountState.Reset;beginXes.Clear;end;
数数真的很难,曾经QQ空间这样跟我说
共 126 个签名,第 22 页/共 21 页
曾经我们在邮件列表中这样计算
K = 12
AVE = 23.45k=13
average=23.57k=13AVG=23.49出现了互斥问题,修正一下当前k=14,ave=23.60
没有评论:
发表评论