inspect.getmembers(object[, predicate])
Run Code Online (Sandbox Code Playgroud)
返回按名称排序的(名称,值)对列表中对象的所有成员.
我想使用这种方法,但我不希望对成员进行排序.我希望它们按照定义的顺序返回.有这种方法的替代方案吗?
使用案例:
创建一个这样的表单:
class RegisterForm(Form):
username = Field(model_field='username', filters=validators.minlength(3))
password1 = Field(model_field='password', widget=widgets.PasswordInput)
password2 = Field(widget=widgets.PasswordInput)
first_name = Field(model_field='first_name')
last_name = Field(model_field='last_name')
address = SubForm(form=AddressForm, model_field='address')
Run Code Online (Sandbox Code Playgroud)
我希望字段按照定义的顺序呈现.
我已经知道有这种事情的答案,但我真的不知道如何在我的代码中实现它们.另外,除非必要,否则我想不再使用任何其他功能.这是我的代码:
int main()
{
unsigned seed;
seed = 1;
srand(seed);
std::string starFox[8];
int x[8];
starFox[0] = "Do a barrel roll!";
starFox[1] = "Try a somersault!";
starFox[2] = "Use bombs wisely!";
starFox[3] = "Something is wrong with the G-diffuser";
starFox[4] = "Can't let you do that, Star Fox";
starFox[5] = "Hey Einstein, I'm on your side";
starFox[6] = "Whoa! help me!";
starFox[7] = "Daddy screamed REAL good before he died!";
for(int i=0; i<8; i++)
{
int y = 0 + rand() …Run Code Online (Sandbox Code Playgroud) 我在使用结构和函数时遇到了一些麻烦,这些函数在VB.NET中返回Nothing.
让我试着用这段代码解释一下:
Public Class Form1
Structure Test
Dim field1 As String
End Structure
Private Function Foo() As Test
Return Nothing
End Function
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim st As Test = Foo()
End Sub
End Class
Run Code Online (Sandbox Code Playgroud)
在前面的代码中,当我返回Nothing作为Foo函数的结果时,我希望st是Nothing.但这不是发生的事情.
然后我在MSDN文档中找到:
为变量赋值Nothing将其设置为其声明类型的默认值.如果该类型包含变量成员,则它们都设置为其默认值.
所以我发现当我为结构分配Nothing时,它的所有成员都被设置为默认值,而不是结构本身.
另外,我试图通过声明:使st成为Nullable类型:
Dim st As Nullable(Of Test) = Foo()
Run Code Online (Sandbox Code Playgroud)
但是,我仍然无法使用以下方法检查st是否为Nothing:
If st Is Nothing Then
Run Code Online (Sandbox Code Playgroud)
要么
If st.Equals(Nothing) Then
Run Code Online (Sandbox Code Playgroud)
那么,问题:
1 - 是否可以为结构而不是其成员分配 …
构建给定文本中最常用单词的ASCII图表.
规则:
a-z和A-Z(字母字符)作为单词的一部分.She== she为了我们的目的).the, and, of, to, a, i, it, in, or, is澄清:考虑don't:这将被视为在范围2不同"单词" a-z和A-Z:(don和t).
可选(现在正式更改规范为时已晚)您可以选择删除所有单字母"单词"(这可能会缩短忽略列表).
解析给定的text(读取通过命令行参数指定的文件或管道输入;假设us-ascii)并构建word frequency chart具有以下特征的a:
width表示单词的出现次数(频率)(按比例).附加一个空格并打印单词.bar+ [space]+ word+ [space]应始终<= 80字符(确保考虑可能不同的条形和字长:例如:第二个最常见的单词可能要长得多)第一个虽然频率差别不大).在这些约束条件下最大化条宽,并适当缩放条(根据它们所代表的频率).一个例子:
这个例子的文本可以在这里找到(爱丽丝梦游仙境,刘易斯卡罗尔).
此特定文本将产生以下图表:
_________________________________________________________________________ |_________________________________________________________________________| she |_______________________________________________________________| …
我最近尝试在我的手机(诺基亚n900)上升级一些Perl模块,并安装最新版本的Module::Build一小时.
大多数情况下(70%)似乎花费在解析和索引存储库信息上.
似乎有一些选项,例如每次都不重建索引缓存,或者使用CPAN :: SQLite.
我想继续在设备上使用CPAN,而不是手动安装模块.所以我想知道人们在类似的有限资源设备上取得了哪些成功(缓慢的CPU,有限的RAM,慢速磁盘(闪存))?
简短版本:是否有一种Web服务方法可以返回所有可用报告的名称以及每个报告的参数?
我将我的Web代码(C#/ MVC)连接到SSRS Web服务,并且我能够通过这些服务检索报告.
我知道我可以获得这样的可用报告列表:
var rService = new ReportingService2005
{
Url = @"http://domain.com/ReportServer/ReportService2005.asmx?wsdl",
Credentials = System.Net.CredentialCache.DefaultCredentials
};
var reportList = rService.ListChildren(@"/Blah", true);
Run Code Online (Sandbox Code Playgroud)
ListChildren()的结果提供了大量信息,但没有列出每个报告的参数.为了获取报告的参数,我需要单独调用:
string historyId = null;
ReportService.ParameterValue[] values = null;
ReportService.DataSourceCredentials[] credentials = null;
var parameters = rService.GetReportParameters(@"/Blah/" + reportName, historyId, true, values, credentials);
Run Code Online (Sandbox Code Playgroud)
因此,如果我想获取所有可用的报告及其参数,我需要遍历ListChildren的结果,这意味着我将为每个报告进行Web服务调用.
有没有更好的方法呢?
我正在寻找类似这篇文章的内容:
只有没有任何ID.
服务器正在运行IIS 6,并且页面已经显示没有扩展名,因此它不是通配符问题.
我想点击http://website.com/action-name
我有http://website.com/controller/action-name工作
我假设这只是一个简单的路由更改,我在某种程度上搞砸了.我目前的路由规则是:
routes.MapRoute(
"RouteName",
"{action}",
new { controller = "Home", action = "Index" }
);
Run Code Online (Sandbox Code Playgroud) 所有,
我正在使用BufferedImages和Raster对象在Scala中进行一些图像处理.我试图使用以下代码获取缓冲图像中的所有像素.
val raster = f.getRaster()
// Preallocating the array causes ArrayIndexOutOfBoundsException .. http://forums.sun.com/thread.jspa?threadID=5297789
// RGB channels;
val pixelBuffer = new Array[Int](width*height*3)
val pixels = raster.getPixels(0,0,width,height,pixelBuffer)
Run Code Online (Sandbox Code Playgroud)
现在,当我阅读相对较大的文件时,这很好用.当我读入20x20 PNG文件时,我得到一个ArrayIndexOutOfBoundsException:
java.lang.ArrayIndexOutOfBoundsException: 1200
at sun.awt.image.ByteInterleavedRaster.getPixels(ByteInterleavedRaster.java:1050)
Run Code Online (Sandbox Code Playgroud)
我在网上看过,解决这个问题的方法是不预先分配pixelBuffer,而是传入一个空值并使用Raster.getPixels方法返回的值.
这是我的问题.当我做天真的方法,并将Nil作为最后一个参数传递:
val pixels = raster.getPixels(0,0,width,height,Nil)
Run Code Online (Sandbox Code Playgroud)
我收到了错误
error: overloaded method value getPixels with alternatives (Int,Int,Int,Int,Array[Double])Array[Double] <and> (Int,Int,Int,Int,Array[Float])Array[Float] <and> (Int,Int,Int,Int,Array[Int])Array[Int] cannot be applied to (Int,Int,Int,Int,Nil.type)
val pixels = raster.getPixels(0,0,width,height,Nil)
Run Code Online (Sandbox Code Playgroud)
很明显,编译器无法确定我试图调用的两种方法中的哪一种; 这是模棱两可的.如果我使用Java,我会抛出null以使我的意图明确.我无法弄清楚如何在Scala中获得相同的效果.我试过的事情:
val pixelBuffer:Array[Int] = Nil // Cannot instantiate an Array to Nil for some reason
Nil.asInstanceOf(Array[Int]) // …Run Code Online (Sandbox Code Playgroud) 我有一个泛型方法,它有一些泛型类型的参数.我想要做的是,能够访问我的函数内的这个泛型类型参数的方法.
public void dispatchEvent<T>(T handler, EventArgs evt)
{
T temp = handler; // make a copy to be more thread-safe
if (temp != null)
{
temp.Invoke(this, evt);
}
}
Run Code Online (Sandbox Code Playgroud)
我希望能够在temp上调用Invoke方法,类型为T.有没有办法做到这一点?
谢谢.
我正在编译包,我看到Makefile作者经常在makefile中写入设置CFLAGS,有这样的选项.另一方面,我想尝试一些编译器优化,并希望传播编译器开关以尽可能少地解决问题.但这并不总是可行的.例如,当makefile指定CFLAGS并且我希望所有C编译器调用都使用-fomit-frame-pointer时,不必显式地写出类似的内容CFLAGS=-fomit-frame-pointer make,那些不是hackish的选项.从我所看到的有上述,然后有相同但不同的make "CFLAGS=-fomit-frame-pointer"我也可以做我认为是最好的解决方案和这个问题的原因:
export CFLAGS=-fomit-frame-pointer
make -e
Run Code Online (Sandbox Code Playgroud)
我认为这是最好的一个,因为坦率地甚至认为有潜在危险的标志,我不会调试那么多软件,当我需要时我可以根据需要重新编译一个特定的部分,调试信息和所有.否则我喜欢使用发布软件而不需要调试铃声和口哨,特别是如果包不是由我编写的.所以我想我具体要问的是:为什么make不会自动更喜欢makefile自己的环境变量?在所有环境都知道什么是最好的情况之后,如果作者确实需要他们的方式,那么就有'覆盖'语法,对吧?