这是一个代码片段
#import "MyCustomView.h"
@implementation MyCustomView
-(void) drawRect:(CGRect)rect {
NSLog(@"Help");
CGContextRef myContext = [[NSGraphicsContext // 1
currentContext]graphicsPort];
Run Code Online (Sandbox Code Playgroud)
....
然后在1,我遇到此错误消息:
NSGraphicsContext undeclared (first use in this function)
Run Code Online (Sandbox Code Playgroud)
你知道是什么造成的吗?我应该包含哪个头文件?
我试图操纵它__mro__但它是只读的
用例如下:
从pyodbc(DBAPI)创建的Connection对象,用于提供名为"autocommit"的属性.最近我在pyodbc周围包装了一个SQLAlchemy数据库连接池,以便更好地进行资源管理.新的数据库池将返回一个_ConnectionFairy连接代理类,该类不再公开该autocommit属性.
我非常希望单独留下第三方代码.所以继承_ConnectionFairy并不是一个真正的选择(我可能需要覆盖Pool类来改变它创建连接代理的方式.有关源代码,请参阅此处)
一个相当不太优雅的解决方案是改变所有的出现
conn.autocommit = True
Run Code Online (Sandbox Code Playgroud)
至
# original connection object is accessible via .connection
conn.connection.autocommit = True
Run Code Online (Sandbox Code Playgroud)
所以,我想知道是否有可能将一组getter,setter和property注入到一个实例中 _ConnectionFairy
这是有问题的 JavaScript 代码
var tmpIframe, url;
url = "http://local.custom.com:10000/simple.html";
tmpIframe = $("<iframe id='runner'></iframe>").attr('src', url);
tmpIframe.contentWindow.postMessage('do_something', data);
Run Code Online (Sandbox Code Playgroud)
最后一行实际上抛出了这个错误消息:
Uncaught TypeError: Cannot read property 'postMessage' of undefined
Run Code Online (Sandbox Code Playgroud)
tmpIframe实际上是作为列表返回的。但即使我将最后一行更改为
tmpIframe[0].contentWindow.postMessage('do_something', data);
Run Code Online (Sandbox Code Playgroud)
我仍然收到相同的错误消息
为什么这不是有效的代码?我必须将 iframe 附加到 DOM 吗?
在官方文档中,只有一个variable用于模板的用例:调用者必须传入散列.
但对我来说,我有一个非常简单的用例.我只想在sensu客户端配置模板文件中设置服务器名称client.json.erb
这是模板文件:
{
"client": {
"name": "<%= @server_name %>",
"address": "<%= node.ipaddress %>",
"keepalive": {
"thresholds": {
"warning": 90,
"critical": 180
}
},
"subscriptions": [ "default" ]
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的厨师代码:
server_name = "server1.example.com"
template "/etc/sensu/conf.d/client.json" do
variables({
:server_name => server_name
})
source "sensu-template/conf.d/client.json.erb"
end
Run Code Online (Sandbox Code Playgroud)
配置文件变成:
{
"client": {
"name": "{}",
"address": "10.0.1.1",
"keepalive": {
"thresholds": {
"warning": 90,
"critical": 180
}
},
"subscriptions": [ "default" ]
}
}
Run Code Online (Sandbox Code Playgroud)
我应该如何将变量名称正确传递到模板中?
这是我的目标.我想创建一个复合组件,它将在显示children元素之前检查匹配的url的有效性.否则,它返回一个公共组件来显示错误消息.
所以这是我的'装饰'的代码:
const EnforceUrlValidation = (test, children) => {
const fn = ({ match }) => {
if (! test( match )) {
return ( <InvalidUrlContainer /> );
}
return ({children});
}
return fn;
}
Run Code Online (Sandbox Code Playgroud)
它是如何在我的路由器中使用的:
const WelcomePage = EnforceUrlValidation(
(match) => {
const articleId = match.params.articleId;
return articleId && isValidarticleId(articleId);
}
, <WelcomeContainer/>
)
...
<Routers>
<Switch>
<Route
path="/:articleId"
component={WelcomePage}
/>
...
</Routers>
Run Code Online (Sandbox Code Playgroud)
我现在遇到的问题是我仍然希望将match对象传递到children内部EnforceUrlValidation.我怎样才能做到这一点?
尝试1:
const EnforceUrlValidation = (test, children) …Run Code Online (Sandbox Code Playgroud) 这是我的脚本test.js:
import 'jsdom-global/register';
import 'canvas';
console.log('done');
Run Code Online (Sandbox Code Playgroud)
这是我的 package.json:
{
"name": "test-jsdom",
"description": "Test",
"version": "0.1.0",
"author": "anthony@me.com",
"dependencies": {
"canvas": "^1.6.7"
},
"devDependencies": {
"babel-cli": "^6.26.0",
"babel-preset-env": "^1.6.1",
"babel-preset-stage-0": "^6.24.1",
"jsdom": "^11.3.0",
"jsdom-global": "^3.0.2"
}
}
Run Code Online (Sandbox Code Playgroud)
当我运行时npx babel-node test.js,我遇到了这个错误
/Users/antkong/test/node_modules/jsdom/lib/api.js:10
const { URL } = require("whatwg-url");
^
SyntaxError: Unexpected token {
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:373:25)
at Module._extensions..js (module.js:416:10)
at Object.require.extensions.(anonymous function) [as .js] (/Users/antkong/test/node_modules/babel-register/lib/node.js:152:7)
at Module.load (module.js:343:32)
at Function.Module._load (module.js:300:12)
at Module.require (module.js:353:17)
at …Run Code Online (Sandbox Code Playgroud) 我想借助Apache POI收集pptx的字体信息。
我基本上typeface=是在PowerPoint幻灯片的xmlObject中搜索字符串。
在我的一些文件中,我可以看到包含搜索字符串的几行内容:
<a:latin typeface="+mn-lt"/>
<a:ea typeface="+mn-ea"/>
<a:cs typeface="+mn-cs"/>
<a:latin typeface="+mn-lt"/>
<a:ea typeface="+mn-ea"/>
<a:cs typeface="+mn-cs"/>
<a:latin typeface="+mn-lt"/>
<a:ea typeface="+mn-ea"/>
<a:cs typeface="+mn-cs"/>
<a:latin typeface="+mn-lt"/>
<a:ea typeface="+mn-ea"/>
<a:cs typeface="+mn-cs"/>
<a:latin typeface="+mn-lt"/>
<a:ea typeface="+mn-ea"/>
<a:cs typeface="+mn-cs"/>
<a:latin typeface="+mn-lt"/>
<a:ea typeface="+mn-ea"/>
<a:cs typeface="+mn-cs"/>
<a:latin typeface="+mn-lt"/>
<a:ea typeface="+mn-ea"/>
Run Code Online (Sandbox Code Playgroud)
但是,如果我检查文件属性对话框,则只能看到这些字体
没有+mn-lt或+mn-ea
我的问题:
哪里字型脸喜欢+mn-ea和+mn-cs来自哪里?
这是我的代码:
renderSoundWave = () => {
const defaultStyle = {
opacity: 1,
transition: `opacity ${DURATION}ms ease-in-out`,
}
const transitionStyles = {
entering: { opacity: 1 },
entered: { opacity: 0 },
};
return (
<Transition timeout={DURATION} in={this.animate}>
{(state) => (
<div className={styles.soundWaves}
style={{ ...defaultStyle, ...transitionStyles[state]}}> {/* Error here! */
<SoundWaves/>
</div>
)}
</Transition>
);
}
Run Code Online (Sandbox Code Playgroud)
我想用Transitioninreact-transition-group来动画图标SoundWave。
但是我收到此错误:
错误 TS7017:元素隐式具有“任意”类型,因为类型 '{ 输入:{ opacity: number; }; 输入:{ 不透明度:数字;}; }' 没有索引签名。
错误指向...transitionStyles[state]上面
我不明白为什么会抛出这个错误。是什么导致了这种类型错误?
我有一些 json 格式的 github 数据,如下所示:
{
"id": 18535,
"node_id": "MDExhN0M8877883",
"number": 747,
"state": "closed",
"locked": false,
"title": "Generate cordova protos",
"user": {
"login": "Superhacker"
},
"body": "Simple PR",
"created_at": "2018-05-02T07:43:39Z",
"updated_at": "2018-07-21T02:09:14Z",
"closed_at": "2018-05-02T07:54:56Z",
"merge_commit_sha": "4bf92c0332c66999999b6c0a766e",
"assignee": null,
"assignees": [],
"requested_reviewers": [],
"requested_teams": [],
"labels": [],
"milestone": null,
"draft": false,
"author_association": "CONTRIBUTOR"
}
Run Code Online (Sandbox Code Playgroud)
当 json 字符串为空时,我不想显示它requested_reviewers。
我尝试了几种方法
echo <the json string above> | jq '.requested_reviewers | select(. != "")表明[]
echo <the json string above> | jq …如果我这样做
import re
m = re.compile("[0-9]{1,}Y")
res = m.search("AUD3M25Y_EOD2")
if res:
return res.group(0)[:-1]
Run Code Online (Sandbox Code Playgroud)
我会得到25作为答案
但是,如果我这样做
import re
m = re.compile(".*([0-9]{1,})Y.*")
res = m.match("AUD3M25Y_EOD2")
if res:
return res.groups(0)
Run Code Online (Sandbox Code Playgroud)
我只会得到5.
为什么不同?
它与"全球"选项有什么关系吗?(很像s /// g in vi)
python ×2
apache-poi ×1
babel-cli ×1
babeljs ×1
chef-infra ×1
iframe ×1
ios ×1
javascript ×1
jq ×1
jsx ×1
node.js ×1
objective-c ×1
powerpoint ×1
python-2.6 ×1
reactjs ×1
regex ×1
ruby ×1
typescript ×1