我需要用于模拟的小型高斯随机数列表,所以我尝试了以下方法:
import System.Random
seed = 10101
gen = mkStdGen seed
boxMuller mu sigma (r1,r2) = mu + sigma * sqrt (-2 * log r1) * cos (2 * pi * r2)
Run Code Online (Sandbox Code Playgroud)
这只是Box-Muller算法 - 给定r1,r2在[0,1]区间内的均匀随机数,它返回一个高斯随机数.
normals 0 g = []
normals n g = take n $ map (boxMuller 0 1) $ pairs $ randoms g
where pairs (x:y:zs) = (x,y):(pairs zs)
Run Code Online (Sandbox Code Playgroud)
所以我normals每次需要我的随机数列表时都会使用这个函数.
问题必须明显:它始终生成相同的序列,因为我总是使用相同的种子!我没有得到新的序列,我只是一直得到序列的前n个值.
我明确假装的是,当我输入时:
x = normal 10
y = normal 50
Run Code Online (Sandbox Code Playgroud)
我要将x作为前10个值,将map (boxMuller 0 1) $ …
random haskell functional-programming referential-transparency
我放
print 'Hello world!'
Run Code Online (Sandbox Code Playgroud)
进入__init__.py我的django项目.当我./manage.py runserver现在跑,我得到
gruszczy@gruszczy-laptop:~/Programy/project$ ./manage.py runserver
Hello world!
Hello world!
Validating models...
0 errors found
Run Code Online (Sandbox Code Playgroud)
为什么__init__.py要跑两次?它应该只加载一次.
当我运行此查询时
SELECT CustomerId FROM Stocks.dbo.Suppliers
Run Code Online (Sandbox Code Playgroud)
它给了我这个错误.列名称'CustomerId'无效.此错误有效,因为Suppliers表中没有列CustomerId; 但是当我在子查询中使用相同的查询时,它不会给出任何错误.例如
SELECT *
FROM SomeOtherDb.dbo.Customer
WHERE CustomerId In( SELECT CustomerId
FROM Stocks.dbo.Suppliers)
Run Code Online (Sandbox Code Playgroud)
在这里,我期待相同的错误"无效的列名称",但查询运行没有任何错误.
完全限定名称只是惯例,两个dbs都在同一台服务器上.
CustomerId确实存在于SomeOtherDb.dbo.Customer表中,但不存在于子查询中.
为什么会这样?这是子查询的东西吗?
谢谢.
我以[nonnumericprefix] [number]格式继承了一个带有标识符的表.例如(ABC123; R2D2456778;等).我想知道是否有一种很好的方法可以将SQL拆分为两个字段,例如右侧形成的最大整数,以及前缀,例如(ABC,123; R2D,2456778等).我知道我可以使用游标,C#代码等来实现这一点 - 如果必须的话,我会这样做 - 但我不会经常遇到我在SQL中不能快速轻松地做的事情,所以我想我会发布它这里.
我在为泛型方法指定Type时尝试使用Type参数时收到错误.
错误:'JsonFilter.JsonDataType'是'属性',但用作'类型'
public class JsonFilter : ActionFilterAttribute
{
public Type JsonDataType { get; set; }
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
...
JavaScriptSerializer jss = new JavaScriptSerializer();
var result = jss.Deserialize<JsonDataType>(inputContent);//Error here
...
Run Code Online (Sandbox Code Playgroud)
新规范
...
JavaScriptSerializer jss = new JavaScriptSerializer();
MethodInfo method = jss.GetType()
.GetMethod("Deserialize")
.MakeGenericMethod(new Type[] { JsonDataType });
var result = method.Invoke(jss, new object[] { inputContent });
filterContext.ActionParameters[Param] = result;
...
Run Code Online (Sandbox Code Playgroud)
反射节省了一天.感谢@Jason解释当type被指定为泛型方法(< Typename >)的一部分时,它会被编译成字节.而作为属性,它可以是任何类型,只能在运行时确定.
UPDATE
对于此特定问题,以下代码更简洁.
var o = new DataContractJsonSerializer(JsonDataType).ReadObject(
filterContext.HttpContext.Request.InputStream);
filterContext.ActionParameters[Param] = o;
Run Code Online (Sandbox Code Playgroud) 我们正在Mono/*nix上创建一个在ASP.Net上运行的项目
我们的问题是我们在Windows上开发,我们只是在Mono上经常构建和测试它.因此,我们最近遇到了一些区分大小写的文件名.一切似乎在Windows中运行良好,然后我们转移到Mono并且它默默地被破坏了.(因为,它构建但不会运行或部分不起作用)
在我们开发Windows的过程中,您如何建议我检测到这一点?基本上,我们如何使代码中的区分大小写的文件名看起来不对,代码在Windows上运行但不是*nix?
我最近开始为FTP编写一个小的Python脚本.首先,我有一个在脚本中硬连线的FTP站点的服务器,登录名和密码详细信息,但这并不重要,因为我只在本地工作.
然后,我有了将项目放在github上的天才想法.我很快意识到自己的错误,并用一个涉及的解决方案取代了硬连线的细节.netrc.我现在已经从github中删除了该项目,因为任何人都可以查看历史记录,并以纯文本格式查看登录详细信息.
问题是,是否有任何方法可以通过git历史记录并删除整个用户名和密码,但是否则保留历史记录?或者我是否需要开始一个没有历史记录的新回购?
有人能告诉我在Silverlight控件的生命周期中被触发的事件吗?
例如,在ASP.NET中,您将拥有PreInit,Init,PreLoad,Load等.
(第一次海报,谷歌的长期访客)
我正在尝试提取一些方括号的内容,但是我有一点麻烦.我已经让它适用于圆括号,如下所示,但我看不出它应该如何修改以适用于方括号.我本以为在这个例子中替换正方形的圆形反之亦然,但显然不行.
它需要忽略括号内的括号.所以它不会返回(11)但会返回(10(11)12).
$preg = '#\(((?>[^()]+)|(?R))*\)#x';
$str = '123(456)(789)(10(11)12)';
if(preg_match_all($preg, $str, $matches)) {
$matches = $matches[0];
} else {
$matches = array();
}
echo '<pre>'.print_r($matches,true).'</pre>';
This returns:
Array (
[0] => (456)
[1] => (789)
[2] => (10(11)12)
)
Run Code Online (Sandbox Code Playgroud)
哪个是完美的.但是,如何才能使用方括号代替字符串,例如:
$str = '123[456][789][10[11]12]';
Run Code Online (Sandbox Code Playgroud) 我想在我的应用程序中设置一个警报,每天都会触发.根据文档,我必须设置一次性警报,并在接收警报信号的BroadcastReceiver中,重置第二天的警报. 那是对的吗 ?
我的BroadcastReceiver很好地处理了唤醒锁并启动了一个释放这个唤醒锁的服务.这里一切都很好.
但是我有问题.在我的应用程序中,有一个复选框,在闹钟响起时进行检查.要知道我的闹钟是否已启动,我使用以下条件:
Intent intent = new Intent( context, AlarmReceiver.class );
boolean alarmUp = (
PendingIntent.getBroadcast( context, 0, intent, PendingIntent.FLAG_NO_CREATE) != null)
Run Code Online (Sandbox Code Playgroud)
但这似乎不能很好地工作,这是一个很好的方法来了解警报是否已经启动?
提前致谢