我有一大堆像这样的代码
def f(x):
try:
g(x)
except Exception, e:
print "Exception %s: %d" % (x, e)
def h(x):
thread.start_new_thread(f, (x,))
Run Code Online (Sandbox Code Playgroud)
偶尔,我得到这个:
Unhandled exception in thread started by
Error in sys.excepthook:
Original exception was:
Run Code Online (Sandbox Code Playgroud)
与代码示例不同,这是完整的文本.我假设在"by"之后应该是一个线程ID,在冒号之后应该是堆栈跟踪,但是没有,没有.我不知道如何开始调试这个.
说真的,似乎有几十个.是一个或多或少的规范?我怎么会知道?
去年,我抓住了一个版本(没有意识到它是众多版本中的一个),我实际上做了几处改进 - 实际上,两个:允许命名参数的标准版本,所以$.sprintf("Hi, %(username)s!", { username : localUsername } )
; 以及我自己对允许对象查找的改进,$.sprintf("Hi, %(user.username)s!", { user : localUser } )
但是当我将更改发送回原作者时,他找不到了!
我想使用当前版本的sprintf,所以任何指针都会有所帮助 - 如果你能告诉我你怎么知道的话,从教导人到鱼的文件......
我知道浏览器检测应该是禁忌,但我没有想法.
我有一个网站,我想在一台全尺寸的电脑上运行时很好,功能齐全,在iPhone(或其他智能手机)上使用简单.这里做什么是正确的?
这似乎完全自然的,我认为发电机,其功能非常像数组,应该支持非常基本的列表操作,如map()
,filter()
和reduce()
。我错过了什么吗?
我为map
它编写了代码,看起来很简单,但是将所有函数嵌入所有生成器中会更好:
let fancyGen = g => {
let rv = function*() {
for (let x of g)
yield x;
}
rv.map = function*(p) {
for (let x of g)
yield p(x);
}
return rv;
}
Run Code Online (Sandbox Code Playgroud)
我是生成器的新手,因此欢迎对代码提出任何意见。特别是,这是编写“身份生成器”的最佳方式吗?
问题很简单.在Java术语中,函数被赋予一个字符串; 如果字符串为null,则返回false; 否则返回字符串的UPPERCASE是否在某个固定集合中.所以,像这样:
static boolean inSet(String s) {
return (s != null) && StaticSet.contains(s.toUpperCase());
}
Run Code Online (Sandbox Code Playgroud)
我想用它作为Scala中更具可读性的例子.这就是我所拥有的
object MisspelledColour {
val StaticSet = Set("RED", "BLEW", "GRENE")
def inSet(s : Option[String]): Boolean = {
s map { StaticSet contains _.toUpperCase } getOrElse false
}
def main(args: Array[String]) {
println(inSet(None));
println(inSet(Some("blew")));
println(inSet(Some("blue")));
}
}
Run Code Online (Sandbox Code Playgroud)
我所寻找的东西更美观比赏心悦目s map { StaticSet contains _.toUpperCase } getOrElse false
的东西,更好地展示了Scala的优势.
我正在做我认为标准的 Next.js 构建。它在开发模式下工作正常,但当我尝试获得生产版本时,我得到:
\n(node:39333) UnhandledPromiseRejectionWarning: CssSyntaxError: <css input>:17:20: Missed semicolon\nat Input.error (/node_modules/next/node_modules/postcss/lib/input.js:129:16)\n
Run Code Online (Sandbox Code Playgroud)\n但奇怪的是:我没有\xe2\x80\x99t 有任何CSS。
\n实际上,我有一些 CSS,但我将其全部删除以找出问题所在。不用找了。
\n我认为这几乎是映射实体的 Map(即关联数组)的最简单的情况。
@Entity
@AccessType("field")
class Member {
@Id
protected long id;
@OneToMany(cascade = CascadeType.ALL, fetch=FetchType.LAZY)
@MapKey(name = "name")
private Map<String, Preferences> preferences
= new HashMap<String, Preferences>();
}
@Entity
@AccessType("field")
class Preferences {
@ManyToOne Member member;
@Column String name;
@Column String value;
}
Run Code Online (Sandbox Code Playgroud)
这看起来应该在 HSQL 中工作,并且确实如此。在MySQL中,有两个问题:第一,它坚持有一个叫做Members_Preferences的表,好像这是一个多对多的关系。
其次,它不起作用:因为它从不填充 Members_Preferences,它从不检索 Preferences。
[我的理论是,由于我只在内存模式下使用 HSQL,它会自动创建 Members_Preferences,而不必真正检索首选项映射。在任何情况下,要么 Hibernate 有一个巨大的错误,要么我做错了什么。]
如果我想简洁地删除一些变量:
var a = 'testa';
var b = 'testb';
var c = 'testc';
Run Code Online (Sandbox Code Playgroud)
有:
a = b = c = null;
Run Code Online (Sandbox Code Playgroud)
安全吗?
编辑删除了多余的var
关键字
这是我想要的:
f n = case n of
String -> "string"
_ -> "other"
Run Code Online (Sandbox Code Playgroud)
或者其他的东西。f
如果要用字符串调用,我想映射到文字“字符串”,否则要映射为“其他”。这不能像我正在做的那么难。
我正在尝试以我认为完全传统的方式测试我的 React(针对浏览器)代码:Mocha 作为测试运行程序,JSDom 来模拟浏览器,Enzyme 来检查结果。
我的问题是这样的:每当我手动将焦点设置在组件上时,React 就会抛出异常。问题出在 React 的深处:
activeElement.attachEvent('onpropertychange', handlePropertyChange);
Run Code Online (Sandbox Code Playgroud)
活动元素已设置,但作为 JSDom HTMLInputElement
,它没有attachEvent
. 我发现如果我破解该文件node_modules/jsdom/lib/jsdom/living/generated/HTMLInputElement.js
并为该类提供名为attachEvent
和 的空方法detachEvent
,异常就会消失。
但显然,这不是正确的解决方案。
该函数的评论以及我在其他地方找到的一些零碎信息表明,这是一个针对旧版 IE 的填充程序,根本不是针对 JSDom 的。仅当未设置startWatchingForValueChange
该标志时才会调用所涉及的函数,并且设置该标志需要设置另一个标志。强制设置这些标志中的任何一个都会导致其他问题。isInputEventSupported
canUseDOM
jquery ×2
ecmascript-6 ×1
generator ×1
google-fonts ×1
haskell ×1
hibernate ×1
iphone ×1
iterator ×1
javascript ×1
jsdom ×1
map-function ×1
mysql ×1
next.js ×1
postcss ×1
python ×1
reactjs ×1
scala ×1