小编Dan*_*ite的帖子

生成加权随机数

我正试图设计一种(好的)方法,从一系列可能的数字中选择一个随机数,其中该范围内的每个数字都被赋予一个权重.简单地说:给定数字范围(0,1,2)选择一个数字,其中0有80%被选中的概率,1有10%的几率,2有10%的几率.

我的大学统计课程已经过去了大约8年,所以你可以想象这个适当的公式让我逃脱了.

这是我提出的"便宜又脏"的方法.此解决方案使用ColdFusion.你可以使用你想要的任何语言.我是程序员,我想我可以处理它.最终我的解决方案需要在Groovy中 - 我在ColdFusion中写了这个,因为它很容易在CF中快速编写/测试.

public function weightedRandom( Struct options ) {

    var tempArr = [];

    for( var o in arguments.options )
    {
        var weight = arguments.options[ o ] * 10;
        for ( var i = 1; i<= weight; i++ )
        {
            arrayAppend( tempArr, o );
        }
    }
    return tempArr[ randRange( 1, arrayLen( tempArr ) ) ];
}

// test it
opts = { 0=.8, 1=.1, 2=.1  };

for( x = 1; x<=10; x++ )
{
    writeDump( weightedRandom( opts ) …
Run Code Online (Sandbox Code Playgroud)

javascript groovy actionscript

45
推荐指数
7
解决办法
4万
查看次数

使用带有字符串连接的三元运算符

alert("test: "+(1==2)?'hello':'world');
Run Code Online (Sandbox Code Playgroud)

这应该'world'在屏幕上显示,因为1不等于2.

怎么警告'hello'

javascript

45
推荐指数
3
解决办法
3万
查看次数

MySql:MyISAM与Inno DB!

MySql中的MyISAM和Inno数据库类型有什么区别?

mysql database myisam innodb

43
推荐指数
3
解决办法
2万
查看次数

静态方法中的GetType

可能重复:
.NET:在其静态方法中确定"this"类的类型

如何GetType()static方法中访问?

我有这个抽象的基类

abstract class MyBase
{
   public static void MyMethod()
   {
      var myActualType = GetType(); // this is an instance method
      doSomethingWith(myActualType);
   }
}
Run Code Online (Sandbox Code Playgroud)

以及该类的实现.(我可以有很多实现.)

class MyImplementation : MyBase 
{
    // stuff
}
Run Code Online (Sandbox Code Playgroud)

我怎么能myActualType成为typeof(MyImplementation)

.net c# reflection

41
推荐指数
3
解决办法
4万
查看次数

我是否需要将流(C#)重置为开头?

我不太了解C#中的流.现在我有一个流放入流阅读器并阅读它.稍后在其他一些方法中我需要读取流(相同的流对象),但这次我得到了这个错误

System.ArgumentException was unhandled by user code
  Message="Stream was not readable."
  Source="mscorlib"
  StackTrace:
       at System.IO.StreamReader..ctor(Stream stream, Encoding encoding, Boolean detectEncodingFromByteOrderMarks, Int32 bufferSize)
       at System.IO.StreamReader..ctor(Stream stream)
       at ExtractTitle(Stream file) in :line 33
       at GrabWebPage(String webPath) in :line 62
       at lambda_method(ExecutionScope , ControllerBase , Object[] )
       at System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters)
       at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters)
       at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters)
       at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClassa.<InvokeActionMethodWithFilters>b__7()
       at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation)
  InnerException: 
Run Code Online (Sandbox Code Playgroud)

所以我想也许是通过阅读流程到最后.然后,当我尝试再次读取它时,它位于流的末尾,这就是为什么我收到此错误.

那么有人可以对此有所了解吗?

谢谢

.net c#

40
推荐指数
3
解决办法
4万
查看次数

你如何使用cgo静态链接ac库?

所以团队中有很多东西建议你可以在go中执行此操作(尽管不在cgo文档中):

package bridge

import "fmt"

// #cgo CFLAGS: -I/Users/doug/projects/c/go-bridge/include
// #cgo LDFLAGS: /Users/doug/projects/c/go-bridge/build/libgb.a
// #include <junk.h>
import "C"

func Run() {
  fmt.Printf("Invoking c library...\n")
  C.x(10)
  fmt.Printf("Done\n")
}
Run Code Online (Sandbox Code Playgroud)

但是,它似乎不起作用:

/var/folders/.../bridge.a(bridge.cgo2.o)(__TEXT/__text): x: not defined
Run Code Online (Sandbox Code Playgroud)

这似乎可以正常使用动态库,并检查生成的文件,它实际上有符号'x':

/var/folders/rg/hj4s3qlj3sz1d1b5p50ws0vc0000gn/T/go-build442792776/bridge/_obj/_cgo_.o:
0000000100001048 S _NXArgc 
0000000100001050 S _NXArgv 
0000000100001060 S ___progname 
0000000100000dc0 T __cgo_2d7eefe3d6d4_Cfunc_x
0000000100000da0 T __cgo_allocate 
0000000100000db0 T __cgo_panic
0000000100000000 T __mh_execute_header 
0000000100000d90 T _crosscall2
0000000100001058 S _environ
                 U _exit 
0000000100000d80 T _main
                 U _puts 
0000000100001000 s _pvars 
0000000100000de0 T _x                <------- Exists
                 U dyld_stub_binder 
0000000100000d40 T …
Run Code Online (Sandbox Code Playgroud)

go cgo

40
推荐指数
3
解决办法
3万
查看次数

在刷新和关闭浏览器操作之间进行标识

当我们刷新页面(F5或浏览器中的图标)时,它将首先触发ONUNLOAD事件.当我们关闭浏览器(X右上图标)时,它将触发ONUNLOAD事件.现在,当触发ONUNLOAD事件时,无法区分刷新页面或关闭浏览器.如果你有任何解决方案,那就给我.

javascript browser

39
推荐指数
4
解决办法
7万
查看次数

C#关键字作为变量

在VB.NET中,您可以用括号括起变量名,并使用关键字作为变量名,如下所示:

Dim [goto] As String = ""
Run Code Online (Sandbox Code Playgroud)

这样做是否有C#等价?

c#

39
推荐指数
3
解决办法
1万
查看次数

指定的版本字符串不符合要求的格式 - 主要[.minor [.build [.revision]]]

我想使用内部版本号附加我们的应用程序版本.例如,1.3.0.201606071.

在AssemblyInfo中设置它时,我得到以下编译错误:

错误CS7034指定的版本字符串不符合所需的格式 - 主要[.minor [.build [.revision]]]

装配信息:

[assembly:System.Reflection.AssemblyFileVersionAttribute("1.0.0.201606071")]
[assembly:System.Reflection.AssemblyVersionAttribute("1.0.0.201606071")]
[assembly:System.Reflection.AssemblyInformationalVersionAttribute("1.0.0.201606071")]
Run Code Online (Sandbox Code Playgroud)

为什么会这样?

.net c# assemblyinfo

39
推荐指数
5
解决办法
2万
查看次数

ASP.NET MVC如何指定View页面所在的文件夹?

默认情况下,ASP.NET MVC引擎在以下文件夹中搜索View页面:

  • / Views/{Controller_Name} /{Action}.aspx
  • / Views/Shared /{Action}.aspx

但是我想把我的一些View页面放在这样:

  • / Views/{Namespace}/{Controller_Name}/{ Action } .aspx

我怎样才能让发动机看起来如此?

asp.net-mvc namespaces

38
推荐指数
2
解决办法
4万
查看次数