我正在尝试建立一个用Perl编写的大型项目.在IBM MakeMaker的教程非常有帮助,到目前为止,但我不明白如何将所有模块链接到主程序.在我的项目的根,我有MANIFEST
,Makefile.PL
,README
,一个bin
目录和lib
目录.在我的bin
目录中,我有我的主脚本(Main.pl
).在lib
目录中,我有我的每一个模块,分成它们各自的目录(即Utils::Util1
和Utils::Utils2
在utils
目录等).在每个模块目录中,还有一个t
包含测试的目录
我的MANIFEST
文件包含以下内容:
bin/Main.pl
lib/Utils/Util1.pm
lib/Utils/Util2.pm
lib/Utils/t/Utils1.t
lib/Utils/t/Utils2.t
Makefile.PL
MANIFEST
README
Run Code Online (Sandbox Code Playgroud)
Makefile.PL
如下:
use ExtUtils::MakeMaker;
WriteMakefile(
'NAME'=>'Foo',
'VERSION_FROM'=>'bin/Main.pl',
'PREREQ_PM'=>{
"XML::Simple"=> 2.18}, #The libraries that we need and their
#minimum version numbers
'EXE_FILES' =>[("bin/Main.pl")]
);
Run Code Online (Sandbox Code Playgroud)
在我制作和运行之后,程序崩溃,抱怨它找不到Utils::Util1
,当我跑'时make test
,它说no tests defined
.有人可以提出任何建议吗?我从未在perl中完成过这样的大型项目,我需要添加更多模块
我想知道是否有人有任何关于最小化函数的建议,f(x,y),其中x和y是整数.我已经研究了很多最小化和优化技术,比如BFGS和GSL中的其他技术,以及Numerical Recipes的内容.到目前为止,我已尝试实现几种不同的方案.第一种方法是选择最大下降方向f(x + 1,y),f(x-1,y),f(x,y + 1),f(x,y-1),并按照该方向线最小化.我也尝试过使用下坡单纯(Nelder-Mead)方法.两种方法都远离最低限度.它们似乎都在更简单的函数上工作,比如找到抛物面的最小值,但我认为两者,尤其是前者,都是针对x和y是实值(双精度)的函数而设计的.还有一个问题是我需要尽可能少地调用f(x,y).它与外部硬件通信,每次呼叫需要几秒钟.对此的任何想法将不胜感激.
这是错误函数的一个例子.对不起,我之前没有发帖.此功能需要几秒钟的时间来评估.此外,我们从设备查询的信息如果低于我们想要的值,则不会添加到错误中,只有当它高于我们的期望值时
double Error(x,y)
{
SetDeviceParams(x,y);
double a = QueryParamA();
double b = QueryParamB();
double c = QueryParamC();
double _fReturnable = 0;
if(a>=A_desired)
{
_fReturnable+=(A_desired-a)*(A_desired-a);
}
if(b>=B_desired)
{
_fReturnable+=(B_desired-b)*(B_desired-b);
}
if(c>=C_desired)
{
_fReturnable+=(C_desired-c)*(C_desired-c);
}
return Math.sqrt(_fReturnable)
}
Run Code Online (Sandbox Code Playgroud) 基本上,我对如何在控制端实现数据绑定感到困惑.
我试图在C#中编写自定义列表控件,它实现了数据绑定.我希望它最终具有与ListView类似的功能,但具有类似于ListBox的接口.
我有一个名为"ListRow"的私有嵌套类,它处理每行的渲染.有一个内部绑定源可以从数据中获取更改,并在必要时使控件无效.现在的问题是我想在ListRow中添加一个复选框,我不确定实现它的最佳方法,以便底层对象的属性得到改变.
标题几乎是我的问题的范围.我试图使用xtabular环境将大表插入到文档中.如果我将X形图环境包裹在景观环境中,那么表格的底部会被切断.有没有人有更好的建议?谢谢
\begin{landscape}
\singlespace
\begin{xtabular}{|c|c|c|c|c|}
\hline
some & stuff & ... & \\
\end{xtabular}
\end{landscape}
Run Code Online (Sandbox Code Playgroud)
蒂姆
看起来翻转对我的功能做了意想不到的事情
例1:
let m = flip max
:t max
max :: Ord a => a -> a ->
:t m
m :: () -> () -> ()
Run Code Online (Sandbox Code Playgroud)
例2:
let f x y = x + y
:t f
f :: Num a => a -> a -> a
let g = flip f
:t g
g :: Integer -> Integer -> Integer
Run Code Online (Sandbox Code Playgroud)
f
可以评估浮点数,但g
在看到浮点数时会抛出错误.但是当我跑步的时候
(flip f) 1.5 1.7
Run Code Online (Sandbox Code Playgroud)
评价很好!这些表达有什么区别?