我正试图设计一种(好的)方法,从一系列可能的数字中选择一个随机数,其中该范围内的每个数字都被赋予一个权重.简单地说:给定数字范围(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) alert("test: "+(1==2)?'hello':'world');
Run Code Online (Sandbox Code Playgroud)
这应该'world'在屏幕上显示,因为1不等于2.
怎么警告'hello'?
MySql中的MyISAM和Inno数据库类型有什么区别?
可能重复:
.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)?
我不太了解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)
所以我想也许是通过阅读流程到最后.然后,当我尝试再次读取它时,它位于流的末尾,这就是为什么我收到此错误.
那么有人可以对此有所了解吗?
谢谢
所以团队中有很多东西建议你可以在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) 当我们刷新页面(F5或浏览器中的图标)时,它将首先触发ONUNLOAD事件.当我们关闭浏览器(X右上图标)时,它将触发ONUNLOAD事件.现在,当触发ONUNLOAD事件时,无法区分刷新页面或关闭浏览器.如果你有任何解决方案,那就给我.
在VB.NET中,您可以用括号括起变量名,并使用关键字作为变量名,如下所示:
Dim [goto] As String = ""
Run Code Online (Sandbox Code Playgroud)
这样做是否有C#等价?
我想使用内部版本号附加我们的应用程序版本.例如,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)
为什么会这样?
默认情况下,ASP.NET MVC引擎在以下文件夹中搜索View页面:
但是我想把我的一些View页面放在这样:
我怎样才能让发动机看起来如此?
c# ×4
.net ×3
javascript ×3
actionscript ×1
asp.net-mvc ×1
assemblyinfo ×1
browser ×1
cgo ×1
database ×1
go ×1
groovy ×1
innodb ×1
myisam ×1
mysql ×1
namespaces ×1
reflection ×1