我在C程序中找到了以下代码:
while (1)
{
do_something();
if (was_an_error()) break;
do_something_else();
if (was_an_error()) break;
[...]
break;
}
[cleanup code]
Run Code Online (Sandbox Code Playgroud)
这里while(1)用作"终于"的本地模拟.你也可以用gotos 写这个:
do_something()
if (was_an_error()) goto out;
do_something_else()
if (was_an_error()) goto out;
[...]
out:
[cleanup code]
Run Code Online (Sandbox Code Playgroud)
我认为goto解决方案是一种常用的习惯用法.我在内核源代码中看到过几次这种习惯用法,在Diomidis Spinellis的"代码阅读"一书中也提到过.
我的问题是:什么解决方案更好?有没有具体的理由使用该while(1)解决方案?
问题943826没有回答我的问题.
我正在使用jQueryUI Datepicker并显示"今天"按钮.但它不起作用.它在演示中也不起作用:http://www.jqueryui.com/demos/datepicker/#buttonbar
按下此按钮,我想今天填写输入.
是否有可能让它运作?
我们在Stack Overflow上使用jQuery的优秀验证器插件在输入提交到服务器之前对输入进行客户端验证.
它通常运作良好,然而,这个让我们摸不着头脑.
在用户名字段的提问/答案表单上使用以下验证方法(请注意,您必须注销才能在实际站点上查看此字段;它位于每个/question页面和/ask页面上)
$.validator.addMethod("validUserName",
function(value, element) {
return this.optional(element) ||
/^[\w\-\s\dÀÈÌÒÙàèìòùÁÉÍÓÚÝáéíóúýÂÊÎÔÛâêîôûÃÑÕãñõÄËÏÖÜäëïöüçÇߨøÅ寿ÞþÐð]+$/.test(value); },
"Can only contain A-Z, 0-9, spaces, and hyphens.");
Run Code Online (Sandbox Code Playgroud)
现在这个正则表达式看起来很奇怪,但它非常简单:
是的,我们遇到了国际化正则表达式问题.JavaScript对"单词字符"的定义根本不包括国际字符.
这是一个奇怪的部分:尽管我们已经麻烦地手动将大量有效的国际字符添加到正则表达式,但它不起作用.如果没有获取用户名,则无法在输入框中输入这些国际字符.
只能包含AZ,0-9,空格和连字符
..验证回报!
显然验证的工作正则表达式的其他部分 ..所以..怎么办?
另一个奇怪的部分是,此验证在浏览器的JavaScript控制台中有效,但在作为我们的标准*.js包含的一部分执行时则不行.
/ ^ [\ W- \sÀÈÌÒÙàèìòùÁÉÍÓÚÝáéíóúýÂÊÎÔÛâêîôûÃÑÕãñõÄËÏÖÜäëïöüçÇߨøÅ寿ÞþÐð] + $ /.测试( 'ÓBill日的Hora')===真
我们之前在JavaScript代码中遇到了一些非常奇怪的国际角色问题,导致一些非常非常讨厌的黑客攻击.我们想了解这里发生了什么,为什么.请指教!
%a = ( "KEY" => {
"p1" => 1 , [1223],
"p1" => 2 , [2323],
"p1" => 3 , [2353],
}
);
Run Code Online (Sandbox Code Playgroud)
我想生成这样的结构.我尝试过这段代码:
@array = ( 1223 , 2323 ,2353 );
$count = 0;
foreach my $i (@array) {
$a{"KEY"} => { "p1" => $count , [$i] };
$count++;
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能创建这样的哈希?
我找不到关于这个问题的任何信息; 为什么以下代码不能在IE中运行?
window.x = 45;
delete window.x;
// or delete window['x'];
Run Code Online (Sandbox Code Playgroud)
IE报告"对象不支持此操作"错误.它是否与IE问题中迭代窗口属性有关?
在编写新的jQuery插件时,有一种直接的方法来检查当前版本的jQuery是否高于某个数字?否则显示警告或记录错误.
做一些像这样的事情会很好:
jQuery.version >= 1.2.6
Run Code Online (Sandbox Code Playgroud)
以某种形式.
我网站上的联系人-us HTML页面上的表单有两个字段
1)主题
2)消息
当页面第一次加载时,我希望这两个框显示" 在此输入主题 "和" 在此输入消息 "等消息.
我发现我们可以通过使用文本框的"value"属性来做到这一点,这是最好的方法吗??我有什么替代方法来实现这一目标?
我在使PDO_MYSQL工作时遇到了实际问题.
我开始只是尝试通过PECL安装PDO_MYSQL驱动程序,但是当这不起作用时,我仔细查看是否有任何问题报告.似乎PDO的嵌入版本与PDO_MYSQL之间可能存在冲突.为此,我决定从PECL重新安装它的所有依赖项.
环境:
操作系统:Ubuntu
PHP Ver:5.1.6(由于客户端环境无法升级)
程序如下:
PECL uninstall PDO_MYSQL
PECL uninstall PDO
PECL uninstall mysql
PECL install mysql
PECL install PDO
PECL install PDO_MYSQL
Lines Added to PHP.ini
extension=mysql.so
extension=pdo.so
extension=pdo_mysql.so
apachectl restart
[warn] php5_module is already loaded, skipping
Run Code Online (Sandbox Code Playgroud)
然后我检查PHPINFO以查看安装了哪些模块.我知道了:
PDO drivers sqlite2
Run Code Online (Sandbox Code Playgroud)
而已!
如果任何人可以提出任何解决方案,我将深表感激.我需要MYSQL PDO驱动程序来为即将到来的项目运行zend框架......是的,由于PHP版本,我必须使用v1.6.
有时我真的很想知道我的代码是否"最后".我尽一切努力使其"最后",避免在写作或解决问题时依赖事物.如果我重写或添加代码,"编程技巧"和假设将来可能发生变化.有时它很容易,有时很难,但它都是程序员的一部分,让工作更好,更快,更容易.
话虽如此,您是否可以根据个人经验推荐一些提示,以便在HLL中编写更好的长效代码?什么应该避免,什么拥抱?
谢谢!
javascript ×3
jquery ×2
c ×1
datepicker ×1
goto ×1
html ×1
jquery-ui ×1
pecl ×1
perl ×1
php ×1
properties ×1
ubuntu ×1
validation ×1
wcf ×1
window ×1
wsdl ×1
xml ×1