我经常发现自己这样做:
optparse = OptionParser.new do |opts|
options[:directory] = "/tmp/"
opts.on('-d','--dir DIR', String, 'Directory to put the output in.') do |x|
raise "No such directory" unless File.directory?(x)
options[:directory] = x
end
end
Run Code Online (Sandbox Code Playgroud)
如果我可以指定Dir或Pathname代替,那会更好String.是否有模式或我的Ruby式方式这样做?
有人可以解释为什么子查询添加组使得此查询需要这么长时间(30秒):
SELECT *
FROM aggregate_songlist AS a
INNER JOIN musical_works AS m
ON a.musical_work_id = m.id
WHERE m.genre='rock' AND m.id NOT IN
(SELECT sources.musical_work_id FROM sources GROUP BY sources.musical_work_id HAVING COUNT(sources.musical_work_id) > 8)
Run Code Online (Sandbox Code Playgroud)
如果我删除'group by'(并增加子查询的结果),则需要0.07秒:
SELECT *
FROM aggregate_songlist AS a
INNER JOIN musical_works AS m
ON a.musical_work_id = m.id
WHERE m.genre='rock' AND m.id NOT IN
(SELECT sources.musical_work_id FROM sources)
Run Code Online (Sandbox Code Playgroud)
子查询中没有外部引用,因此它只应执行一次,对吧?自己执行:
SELECT sources.musical_work_id FROM sources GROUP BY sources.musical_work_id HAVING COUNT(sources.musical_work_id) > 8
Run Code Online (Sandbox Code Playgroud)
只需0.01秒.
有什么解释吗?有关如何改变它的任何建议?
我想要做的是检查我的应用程序是否具有焦点,因为如果不是,那么我将在通知区域上方弹出警报窗口以向最终用户显示一些消息.
我已经提供了一个csv文件,其中包含客户端数据库表的导出.其中两列是日期,在文件中它们的格式为mm/dd/yyyy.
ID | ActivateDate
-----------------
1 | 05/22/2010
2 | 10/01/2010
Run Code Online (Sandbox Code Playgroud)
我需要将它们导入的mySQL数据库将这些列定义为datetime,默认值为null.当我在phpMyAdmin中使用导入功能时,无论导入文件中是否有任何值,它都会将导入记录中的所有日期列设置为0000-00-00 00:00:00.
任何人都可以告诉我我需要做什么才能将数据库中的ActivateDate列设置为2010-05-22 00:00:00而不是00:00:00?
我正在写一个上传和下载功能,我尝试用这两种方法写入或读取同一个文件夹,我遇到了一些问题getResourceAsStream.(该软件在glassfish上运行)
上传:方法上传到这个文件夹:/home/phamtn8/glassfishv3/glassfish/domains/domain1/applications/Documents/Documents-war_war/drawings/Liandro.jpg- >工作很棒
下载:stream =the above path
input = this.getClass().getResourceAsStream(stream); //返回null
包含这些上载和下载方法的类文件的位置位于:
/home/phamtn8/glassfishv3/glassfish/domains/domain1/applications/Documents/Documents-war_war/WEB-INF/classes/org/xdrawing/web.如果我把jpg文件放在这里,getResourceAsStream工作.
注意:this.getClass.getName()退货org.xdrawing.web.FileName
请帮忙 !!!
我无法弄清楚这里可能是什么静态导致下面的错误:
public bool OptionsMatch(Item item, ItemFavorite itemFavorite)
{
bool isSame = true;
switch (item.DispType)
{
case DispType.Dropdown:
case DispType.Radio:
isSame = String.Contains(item.Value);
break;
case DispType.ImageList:
isSame = ListValuesMatch(item, itemFavorite);
break;
}
return isSame;
}
Run Code Online (Sandbox Code Playgroud)
错误:无法在静态上下文中访问非静态方法'Contains'
DispType是一个枚举.其余的都是非静态的具体类型实例,并且底层类也不是包含此方法的静态类.
我的问题类似但不完全相同:
为什么我的主机(softsyshosting.com)不支持BeginRequest和EndRequest事件处理程序?(我也读过其中引用的mvolo博客)
目标是成功地在IHttpModule.Init事件(或模块内部的任何地方)中挂钩HttpApplication.BeginRequest,使用通过system.webServer配置集成的普通HttpModule,即不会:
覆盖HttpApplication(该模块旨在自包含和可重用,所以例如我有这样的配置):
<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<modules>
<remove name="TheHttpModule" />
<add name="TheHttpModule" type="Company.HttpModules.TheHttpModule" preCondition="managedHandler" />
Run Code Online (Sandbox Code Playgroud)到目前为止,我试图将一个监听器附加到HttpApplication.BeginRequest的任何策略都会产生以下两种情况之一:症状1是BeginRequest永远不会触发,或者症状2是所有托管请求都抛出以下异常,我不能从用户代码中捕获并处理它:
Stack Trace:
[NullReferenceException: Object reference not set to an instance of an object.]
System.Web.PipelineModuleStepContainer.GetEventCount(RequestNotification notification, Boolean isPostEvent) +30
System.Web.PipelineStepManager.ResumeSteps(Exception error) +1112
System.Web.HttpApplication.BeginProcessRequestNotification(HttpContext context, AsyncCallback cb) +113
System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +616
Run Code Online (Sandbox Code Playgroud)
app.BeginRequest += new EventHandler(this.OnBeginRequest)在Init中注释会停止例外.Init根本不引用Context或Request对象.
我试过了:
有人知道一个好方法吗?在模块中挂钩Application_Start是否存在一些间接策略(似乎不太可能)?另一个事件:a)可以从模块的构造函数或Init方法挂钩,以及b)随后是附加BeginRequest事件处理程序的安全位置?
非常感谢
它只是我,还是"D编程语言"第68页有问题?在这个页面上,作者讨论了D的if-else语句的语法以及它们如何嵌套.他首先介绍了这个例子:
if(a == b)
if(b == c)
writeln("all are equal!");
else
writeln("a is different from b. Or is that so?");
Run Code Online (Sandbox Code Playgroud)
然后他指出,否则将绑定到第二个if.然后他说,为了让其他人绑定到第一个if,应该使用这样的大括号:
if(a == b) {
if(b == c)
writeln("all are equal!");
else
writeln("a is different from b. Or is that so?");
}
Run Code Online (Sandbox Code Playgroud)
我完全忽略了这一点,还是你必须这样做:
if(a == b) {
if(b == c)
writeln("all are equal!");
}
else
writeln("a is different from b. Or is that so?");
Run Code Online (Sandbox Code Playgroud) 我想在Android应用程序的开发中使用Adobe Flash.但是如何在模拟器上安装闪存以便我可以使用闪存测试我的软件?
我按照例子http://www.androidpeople.com/android-custom-dynamic-listview/
但是我遇到了将autoscroll应用于bottom的问题
listview.setTranscriptMode(ListView.TRANSCRIPT_MODE_DISABLED);
Run Code Online (Sandbox Code Playgroud)
我应该在哪里申请?