假设我有一个PHP函数foo:
function foo($firstName = 'john', $lastName = 'doe') {
echo $firstName . " " . $lastName;
}
// foo(); --> john doe
Run Code Online (Sandbox Code Playgroud)
有没有办法只指定第二个可选参数?
例:
foo($lastName='smith'); // output: john smith
Run Code Online (Sandbox Code Playgroud) 我经常发现自己在python中编写if/elif/else构造,并且我希望包含可能发生的选项,但相应的操作是什么都不做.我意识到我可以排除那些if语句,但为了便于阅读,我发现将它们全部包含在内是有帮助的,所以如果你查看代码,你可以看到每个选项会发生什么.如何编写no-op?目前,我这样做:
no_op = 0
if x == 0:
y = 2 * a
elif x == 1:
z = 3 * b
elif x == 3:
no_op
Run Code Online (Sandbox Code Playgroud)
(代码实际上比这长得多,而且更复杂.这只是为了说明结构).
我不喜欢使用变量作为无操作,但这是我能想到的最好的方式.有没有更好的办法?
我有下表的柜台:
CREATE TABLE cache (
key text PRIMARY KEY,
generation int
);
Run Code Online (Sandbox Code Playgroud)
我想增加其中一个计数器,或者如果相应的行还不存在则将其设置为零.有没有办法在标准SQL中没有并发问题的情况下执行此操作?该操作有时是交易的一部分,有时是分开的.
如果可能的话,SQL必须在SQLite,PostgreSQL和MySQL上不加修改地运行.
搜索产生了一些想法,这些想法要么遇到并发问题,要么特定于数据库:
尝试换INSERT行,UPDATE如果出现错误.不幸的是,INSERT中止当前事务的错误.
UPDATE行,如果没有修改行,则为INSERT新行.
MySQL有一个ON DUPLICATE KEY UPDATE条款.
编辑:感谢所有的好评.看起来保罗是对的,并没有单一,便携的方式来做到这一点.这对我来说非常令人惊讶,因为它听起来像是一个非常基本的操作.
这是模型(我使用的是SQLLite3):
class School < ActiveRecord::Base
validates_uniqueness_of :name
end
Run Code Online (Sandbox Code Playgroud)
例如,在我添加"耶鲁"后,我无法添加"耶鲁",但可以添加"耶鲁".如何使验证不敏感?
编辑:找到它 - 活动记录验证
我们通常在Excel中将一些数据(10-50列,数十万行)可视化为折线图或堆积条形图.
用户希望能够放大和缩小图表以获得单个样本,但这些操作确实让Excel瘫痪.
我正在考虑将数据嵌入到HTML页面中,使用内联JavaScript来处理浏览器中的可视化.像flotr JS charting lib这样的东西可以用于图表.
每次我用备份文件刷新我的数据库.我必须分别运行大约10个存储过程因为备份文件不包含它们.
有没有办法让一个单独的sql脚本引用所有这10个存储过程并只运行那个ONE文件与TEN相比?
我真的希望有人可以帮助解决这个问题.我有一个ajax分页脚本,在第一页上运行良好,但点击事件不适用于分页中的任何其他页面.
这就是我设置它的方式:
jQuery脚本
<script type="text/javascript">
// prepare when the DOM is ready
$().ready(function() {
//popup div
$(".wsbutton_pop").click(function(e){
//getting height and width of the message box
var height = $('#popuup_div').height();
var width = $('#popuup_div').width();
//calculating offset for displaying popup message
leftVal=e.pageX-(width/2)+"px";
topVal=e.pageY-(height/2)+"px";
//show the popup message and hide with fading effect
$('#popuup_div').css({left:leftVal,top:topVal}).show();
$('#popuup_div').html("<img src='images/ajaximg.gif' border='0'>");
$.ajax({
type: "get",
url: $(this).attr("href"),
success: function(r){
$('#popuup_div').html("")
$('#popuup_div').prepend(r);
}
});
});
//close div on mouse click
$(".popup_msg").click(function(e){
$('#popuup_div').fadeOut();
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
这应该弹出一个包含来自另一个页面的内容的div.
现在我的链接:
<a href="http://mysite.com/file.php?content=1" …
什么时候在C/C++/C#等中使用代码块?我知道它们背后的理论原因,但你什么时候在实际程序中使用它们?
编辑:我刚刚意识到我在switch语句中使用它们,否则变量将在相同的范围内(对于类似的东西i):
switch (x) { case "abc": { /* code */ } break; }
Run Code Online (Sandbox Code Playgroud)
等等(只是为了澄清,在switch语句中,额外的括号不是必需的.)
有关:
在调试模式下运行runserver时,如何让Django 1.0将所有错误写入控制台或日志文件?
我已尝试使用具有process_exception函数的中间件类,如此问题的已接受答案中所述:
对于某些异常调用process_exception函数(例如:views.py中的assert(False)),但不会调用process_exception等其他错误,例如ImportErrors(例如:在urs.py中导入thisclassdoesnotexist).我是Django/Python的新手.这是因为运行时和编译时错误之间存在某些区别吗?但是,如果它是编译时错误而不是,那么我希望runserver会抱怨.
我看过Simon Willison关于Django调试的精彩演示(http://simonwillison.net/2008/May/22/debugging/),但我没有看到一个适合我的选项.
如果它是相关的,我正在写一个Facebook应用程序和Facebook屏蔽HTTP 500错误与他们自己的消息,而不是显示Django的信息丰富的500页.所以我需要一种方法将所有类型的错误写入控制台或文件.
编辑:我想我的期望是,如果我在urls.py中导入错误(ImportError)时Django可以返回一个包含大量细节的500错误页面,它应该能够将相同的细节写入控制台或没有文件必须向代码添加任何其他异常处理.我从未见过有关import语句的异常处理.
谢谢,杰夫
我正在尝试使用JavaScript调用在Flash swf中使用ExternalInterface声明的函数.它工作了一次,但突然间,它停止了工作.
我有一个Flash Player的调试版本,但Flash中没有出现错误.甚至不是"安全沙箱错误"或其他东西.我得到的唯一错误是JavaScript中的以下错误Error: Error in Actionscript. Use a try/catch block to find error.
我正在使用AS3,在Mac上为Flash Player 10导出并在Firefox 3/Safari 4上进行测试.
任何帮助将不胜感激.
javascript ×3
python ×2
.net ×1
actionscript ×1
browser ×1
c# ×1
codeblocks ×1
coding-style ×1
curly-braces ×1
django ×1
dom ×1
facebook ×1
flash ×1
flot ×1
function ×1
jquery ×1
model ×1
mysql ×1
php ×1
postgresql ×1
sql ×1
sql-server ×1
sqlite ×1
t-sql ×1
upsert ×1
validation ×1