在JavaScript中,有一种有用的方法可以测试从未在任何给定点定义过的变量.例如,如果尚未定义变量bob,则以下代码片段将返回true:
typeof(bob)=='undefined'
Run Code Online (Sandbox Code Playgroud)
如何在Ruby中完成相同的测试?
编辑:我正在寻找一个同样紧凑的测试.我用异常等方法得出了一些尴尬的近似值,但那些不是很漂亮!
任何人都可以帮忙,我有一个被阻止的弹出窗口.这是一个弹出窗口,因为有人点击了我网站上的打印图片.
我认为当弹出窗口出现时,IE不应该阻止这些onclick?
有人可以帮忙吗?该child1变量总是返回NULL如果启用了弹出窗口阻止程序...
也许问题是onclick事件然后将控制传递给一个新函数,该函数加载一个html文件并执行child.document.write
这是我的简单代码..
var width = 800;
var height = 600;
var left = parseInt((screen.availWidth / 2) - (width / 2));
var top = parseInt((screen.availHeight / 2) - (height / 2));
var windowFeatures = "width=" + width + ",height=" + height
+ ",menubar=yes,toolbar=yes,scrollbars=yes,resizable=yes,left="
+ left + ",top=" + top + "screenX=" + left + ",screenY=" + top;
child1 = window.open("about:blank", "subWind", windowFeatures);
Run Code Online (Sandbox Code Playgroud) 常见的Web问题是用户多次单击表单的提交按钮,因此服务器不止一次地处理表单.当用户点击已提交表单的后退按钮并因此再次处理时,也会发生这种情况.
什么是阻止ASP.NET MVC发生这种情况的最佳方法?
我认为的可能性是:
还有更多吗?
是否有任何特定的实现?
我可以看到第三个选项被实现为具有HtmlHelper扩展的ActionFilter,其方式与防伪内容类似.
期待收到MVC'ers的消息.
我有三列:日期列,整数列和varchar列,如下所示:
+------------+------+---------+
| date |value | unit |
+------------+------+---------+
| 2009-01-01 | 2 | DAY |
| 2009-02-01 | 3 | MONTH |
+------------+------+---------+
Run Code Online (Sandbox Code Playgroud)
我想使用的整数和在MySQL DATE_ADD()函数varchar列的"INTVERAL"表达式的一部分的值,添加到日期在"日期"列.
例如:date_add(2009-01-01,INTERVAL 2 DAY),以便'2009-01-01'来自'date'列,'2'来自"value"/ integer列和" DAY"来自'unit'/ varchar列.
选择将如下所示:
select date_add(table.date_column, INTERVAL table.integer_column table.varchar_column) from table
Run Code Online (Sandbox Code Playgroud)
问题是:它不起作用.日期和整数列工作,所以这是好的:
select date_add(table.date_column, INTERVAL table.integer_column DAY) from table
Run Code Online (Sandbox Code Playgroud)
但是一旦我尝试用列中的字符串值替换"DAY"关键字,我就会收到错误消息.
有任何想法吗?
我想更普遍的问题是:
如何将动态检索的值用作常量/键表达式?mysql中有一种"eval"函数吗?
这个问题一直困扰着我很长一段时间,任何帮助都会非常棒.
击败
目前我正在为我的第一个Objective-c API做出一些决定.没什么大不了的,只是帮助我自己将来更快地完成任务.
在阅读了几个小时关于不同模式,比如制作类别,单身等等之后,我遇到了一些我喜欢的东西,因为它对我来说似乎很容易维护.我正在制作一套有用的功能,这些功能在任何地方都很有用.
所以我做的是:
1)我创建了两个新文件(.h,.m),并为"class"命名:SLUtilsMath,SLUtilsGraphics,SLUtilsSound等.我认为这是一种"命名空间",所以所有这些东西总是被称为SLUtils******.我将它们全部添加到Group SL中,其中包含一个子组SLUtils.
2)然后我只将函数签名放在.h文件中,并在.m文件中实现函数.猜猜看:它有效!! 我很高兴它,它很容易使用.关于它的唯一令人讨厌的事情是,我每次需要时都必须包含适当的标题.但那没关系,因为那是正常的.不过,我可以将它包含在头文件前缀pch文件中.
然后,我去了厕所,一个幽灵出现在那里,说:"嘿!制作真正的方法而不是函数是不是更好?你不应该制作类方法,所以你必须调用一个方法而不是而不是一个功能?是不是更酷,是不是有更好的表现?" 好吧,为了便于阅读,我更喜欢这些功能.另一方面,他们没有像方法那样的"命名参数",afaik.
那么在那种情况下你更喜欢什么?
当然我不想在使用有用的方法或函数之前分配对象.那将是痛苦的.
也许厕所鬼是对的.有一个更酷的方式.嗯,对我个人而言,这很棒:
MYNAMESPACECoolMath.h
#import <Foundation/Foundation.h>
@interface MYNAMESPACECoolMath : NSObject {
}
+ (float)randomizeValue:(float)value byPercent:(float)percent;
+ (float)calculateHorizontalGravity:(CGPoint)p1 andPoint:(CGPoint)p2;
// and some more
@end
Run Code Online (Sandbox Code Playgroud)
然后在代码中,我只需导入MYNAMESPACECoolMath.h并调用:
CGFloat myValue = [MYNAMESPACECoolMath randomizeValue:10.0f byPercent:5.0f];
没有讨厌的实例化,初始化,分配,什么永远.对我来说,这个模式在java中看起来像一个静态方法,非常好用且易于使用.
据我所知,功能优于代码的可读性更高.在查看CGRectMake(10.0f,42.5f,44.2f,99.11f)时,您可能需要查看这些参数的含义,如果您对它不熟悉的话.但是当您使用"命名"参数进行方法调用时,您会立即看到参数是什么.
我认为,当谈到可以在任何地方使用的简单有用的方法/功能时,我错过了对单例类产生重大影响的观点.制作特殊类型的随机值不属于任何东西,它是全局的.像草一样.像树一样.像空气一样.每个人都需要它.
我正在设法使用谷歌图表中的一个折线图生成PDF,但生成的列标题的质量不符合我们的需求,所以我想自己生成.
这项任务应该使用,[fo:table]但我无法成功定位标题(宽度和边距/填充).
总之,我想使用[fo:block]设置宽度属性加上负边距(即width="1.5cm" margin-top="-2em")来设置标题,但宽度不会生效.
你知道怎么做吗?
谢谢.
我有一个像Django模型:
class Category(models.Model):
status=models.CharField(max_length=16)
machineName=models.CharField(max_length=50)
readableName=models.CharField(max_length=100)
description=models.CharField(max_length=1024)
parents=models.ManyToManyField('self')
Run Code Online (Sandbox Code Playgroud)
每个类别可能存在于许多父母中.有些类别没有父母,他们是"根"类别.在纯SQL中我可以通过以下方式找到它们:
SELECT "readableName"
FROM foo_category AS c
LEFT JOIN foo_category_parents AS cp ON (c.id=cp.from_category_id)
WHERE cp.to_category_id IS NULL;
Run Code Online (Sandbox Code Playgroud)
事实上,这很有效.如何通过Django-y调用找到"没有父母的类别列表"?我试过了:
# Says "Cannot resolve keyword 'is_null' into field."
Category.objects.filter(parents__is_null=True)
# Says "Join on field 'id' not permitted."
Category.objects.filter(parents__pk_null=True)
Run Code Online (Sandbox Code Playgroud)
但如上所述,两者都没有效果.
长话短说,我有两个正则表达式.一种模式匹配我想要替换的内容,另一种模式匹配那些不应替换的模式的特殊情况.举一个简单的例子,假设第一个是"\ {.*\}",第二个是"\ {\ {.*\} \}".然后应该替换"{this}",但不应该"{{this}}".是否有一种简单的方法来取一个字符串并说"用"hello"替换第一个字符串的所有实例,只要它不匹配第二个字符串"?
换句话说,有没有办法在不修改第一个字符串的情况下轻松制作"匹配第一个字符串而不是第二个字符串"的正则表达式?我知道我可以手动修改我的第一个正则表达式,从不匹配第二个正则表达式的实例,但是随着第一个正则表达式变得更加复杂,这变得非常困难.
我正在尝试使用正则表达式获取链接文本.可能有几个链接可能与模式匹配,我想要到最远的第四个.这是我的JS代码:
var level=1;
while ( _match = /<a href="http:\/\/www.mysite.com\/x\/(?:.*)>(.*)<\/a>/img.exec(_html)){
if (level < 5) (_anchor_text=_match[1]);
level ++;
}
Run Code Online (Sandbox Code Playgroud)
问题是这个代码在IE上进入无限循环(在FF上运行良好),尽管模式存在.任何帮助表示赞赏.
.NET中的"protected"和"protected internal"修饰符有什么区别?
javascript ×3
regex ×2
.net ×1
apache-fop ×1
asp.net-mvc ×1
cocoa-touch ×1
datetime ×1
django ×1
iphone ×1
many-to-many ×1
mysql ×1
popup ×1
postback ×1
python ×1
ruby ×1
submit ×1
uikit ×1
undefined ×1
xsl-fo ×1
xslt ×1