有没有一种机制可以注释掉大块的Python代码?
现在,我能看到注释掉代码的唯一方法是用a开始每一行#,或用三引号括起代码:""".
这些问题是#在每行之前插入很麻烦,"""并使我想用作注释的字符串显示在生成的文档中.
阅读完所有评论后,答案似乎是"不".
我想根据1到20的数字从表中选择至少20条记录到新表中.
select * into blah from foo where fubar = '1'
Run Code Online (Sandbox Code Playgroud)
如何在该声明中添加1到20?
编辑:
select * into blah from foo where fubar = '1' and where fubar = '2' and where fubar = '3'
Run Code Online (Sandbox Code Playgroud)
抱歉.让我看看我能否说得更清楚.基本上我想基于fubar = 1到20选择20条记录.我试图使用"和where"但我得到语法错误.
eidt:如果fubar是nvarchar(11)
我试图阻止JavaScript事件继续传播,使用YUI.以下是一些最小的HTML和一些最小的JavaScript,它们演示了这个问题:
HTML:
<a href="#foo" onClick="fooClickTest()" id="foo">foo</a>
<a href="#bar" id="bar">bar</a>
Run Code Online (Sandbox Code Playgroud)
JavaScript的:
function fooClickTest(e) {
alert('fooClickTest');
YAHOO.util.Event.addListener('bar', 'click', barClickTest1);
YAHOO.util.Event.addListener('bar', 'click', barClickTest2);
YAHOO.util.Event.addListener('bar', 'click', barClickTest3);
YAHOO.util.Event.preventDefault(e);
}
function barClickTest1(e) {
alert('barClickTest1');
YAHOO.util.Event.preventDefault(e);
}
function barClickTest2(e) {
alert('barClickTest2');
YAHOO.util.Event.preventDefault(e);
YAHOO.util.Event.stopEvent(e);
// Also tried:
// YAHOO.util.Event.stopPropagation(e);
// and:
// if (e.stopPropagation) {
// e.stopPropagation();
// } else {
// e.cancelBubble = true;
// }
}
Run Code Online (Sandbox Code Playgroud)
我期望发生的是用户可以点击"foo"添加三个点击处理程序,然后点击"bar".然后,用户将看到两个警报,'barClickTest1'和'barClickTest2'.而是发生所有三个警报.YAHOO.util.Event.stopEvent(e)没有达到我的预期,即阻止事件传播到barClickTest3.
我已经在Firefox 3.0.7和Safari 3.2.1中测试了我的代码.如您所见,我也尝试过YAHOO.util.Event.stopPropagation(e)和e.stopPropagation().他们都没有成功.
这显然是一个人为的例子,尽管它确实证明了这个问题.在真正的解决方案中,如果满足某些条件,我将仅阻止事件传播.
我对JavaScript事件的理解是否搞砸了?我如何实现目标?
我正在编写Windows应用程序并使用Listbox控件.我正在使用Visual Studio C#2008 Express Edition进行开发.
我有一个看起来像这样的数据对象
public class RootObject
{
public List<SubObject> MySubObjects{ get; set;}
}
Run Code Online (Sandbox Code Playgroud)
我的表单上有一个ListBox,还有一个属性"MyRootObject",显然它拥有一个RootObject.初始化控件时,我设置:
_listBox.DataSource = MyRootObject.MySubObjects;
Run Code Online (Sandbox Code Playgroud)
现在,当表单加载时,我调试并看到正确设置了DataSource.但没有显示任何内容.我已经覆盖了SubObject的ToString()方法,甚至没有被调用.我尝试将_listBox.DisplayMember设置为SubObject的属性,只是为了查看是否存在某些问题,但仍然没有.我在设置DataSource后尝试调用_listBox.Update()和_listBox.Refresh(),但仍然没有爱.DataSource拥有所有数据......它只是拒绝显示它.
所以在调试时,我想知道WTF,我决定这样做
_listBox.DataSource = new List<SubObject>{ new SubObject(), new SubObject() };
Run Code Online (Sandbox Code Playgroud)
果然,这很有效,我看到列表框中列出了两件事.
那么,真的很好奇,我决定尝试复制对象列表并将其放入列表框中,如下所示:
_listBox.DataSource = MyRootObject.MySubObjects.ToArray();
Run Code Online (Sandbox Code Playgroud)
这有效!现在这是解决我的问题的方法......但是非常讨厌.有谁知道为什么我需要基本上复制像这样的对象列表才能使它工作,而不是只设置_listBox.DataSource = MyRootObject.MySubObjects; ?同样,DataSource在设置之后以任何一种方式拥有所有正确的数据...它只是在复制数据时,它实际显示,而当它不复制时,它不会显示.
我有一个带有静态工厂方法的类.我想调用工厂来检索类的实例,然后通过c#object initializer语法进行额外的初始化:
MyClass instance = MyClass.FactoryCreate()
{
someProperty = someValue;
}
Run Code Online (Sandbox Code Playgroud)
VS
MyClass instance = MyClass.FactoryCreate();
instance.someProperty = someValue;
Run Code Online (Sandbox Code Playgroud) 据我所知,没有办法做到这一点,但我会问,以防其他人知道如何做到这一点.如何在Delphi中将日期声明为const?
我发现的唯一解决方案是使用数字等价物,这是一种难以维护,因为它不是人类可读的.
const
Expire : TDateTime = 39895; // Is actually 3/23/2009
Run Code Online (Sandbox Code Playgroud)
我希望能做的是这样的:
const
Expire : TDateTime = TDateTime ('3/23/2009');
Run Code Online (Sandbox Code Playgroud)
要么
const
Expire : TDateTime = StrToDate('3/23/2009');
Run Code Online (Sandbox Code Playgroud)
所以让我知道这是一个功能请求,还是我错过了如何做到这一点(是的,我知道这似乎是一件奇怪的事情......)
由于会话ID已插入当前URL,因此相对链接也会自动获取会话ID.换句话说,如果用户当前驻留在Page1.aspx上并单击指向Page2.aspx的相对链接,则相对链接将当前会话ID包含在URL中.cookieless状态的唯一真正限制是您不能使用绝对链接,因为它们不包含会话ID.
我不明白为什么相对链接能够获得会话ID,但不能获得绝对链接?
谢谢
我想在我的应用程序控制器中创建一个before_filter方法,就像这样......
def check_role(role_name)
unless logged_in_user.has_role? role_name
flash[:notice] = 'Access to that area requires additional privileges.'
redirect_to :back
end
end
Run Code Online (Sandbox Code Playgroud)
但是,在过滤器可以获取参数之前,它看起来并不像.
有没有办法参数化这个调用,或者我是否想用锤子驱动螺丝?
我有一个关于JVM内存管理的问题(至少对于SUN的内存管理问题).
我想知道如何控制JVM将未使用的内存发送回操作系统(在我的情况下为Windows)这一事实.
我写了一个简单的java程序来说明我的期望.使用-Dcom.sun.management.jmxremote选项运行它,以便您也可以使用jconsole监视堆.
使用以下程序:
package fr.brouillard.jvm;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.LinkedList;
import java.util.List;
public class MemoryFree {
private BufferedReader reader = new BufferedReader(new
InputStreamReader(System.in));
private List<byte[]> usedMemory = new LinkedList<byte[]>();
private int totalMB = 0;
private int gcTimes = 0;
public void allocate(int howManyMB) {
usedMemory.add(new byte[howManyMB * 1024 * 1024]);
totalMB += howManyMB;
System.out.println(howManyMB + "MB allocated, total allocated: " +
totalMB + "MB");
}
public void free() {
usedMemory.clear();
}
public void gc() {
System.gc(); …Run Code Online (Sandbox Code Playgroud) 我正在为一个JavaScript项目做一些研究,其中绘制简单基元(即线条)的性能是最重要的.
这个问题的答案提供了一个很好的JS图形库列表.虽然我意识到浏览器的选择比库有更大的影响,但在选择浏览器之前,我想知道它们之间是否存在任何差异.
有没有人在这些之间进行过性能比较?