我有一个有趣的行为,我想更好地理解,所以我不会被误解,偶然误用它.
以下是在WHERE子句中转义'%'的示例:
select * from #z where b like '%e%' ESCAPE 'e'
Run Code Online (Sandbox Code Playgroud)
在此表中包含以下值:
create table #z (a int, b varchar(10))
insert into #z values (1, 'e25%')
insert into #z values (2, '25')
insert into #z values (3, '18%')
insert into #z values (4, 'cab')
insert into #z values (5, '2%')
Run Code Online (Sandbox Code Playgroud)
选择末尾带有%的三行.
但是,如果我like '%e%'用like 'ee%'它替换它只选择第一行.因此,看起来双重逃避%就像一个双重否定,并撤消逃逸,从而使%再次回到通配符.我理解正确吗?或者还有其他事情发生在这里?
我在Rails中有一个非常平均的形式,通过blog_kit
<% form_for(@blog_post, :html => { :multipart => true }) do |f| %>\
... other code
<%= f.text_area :body %>
<%= debug(@blog_post) %>
Run Code Online (Sandbox Code Playgroud)
在编辑博客文章时,正文突然包含额外的空格(标记为_以显示):
...sit amet eleifend diam imperdiet pharetra.
__
__## FOO?
__Morbi nec
Run Code Online (Sandbox Code Playgroud)
因为textarea是空间感知的,它将显示空格.在更新时,它们将添加到数据库中.
这些空间不在数据库中(在上面提到的错误更新之前).BlogPost.find(1)模型也不包含这些空格.
script/console » b = BlogPost.find(1)
» puts b.body
...sit amet eleifend diam imperdiet pharetra.
## FOO?
Morbi nec
Run Code Online (Sandbox Code Playgroud)
在获取数据库之后,但在以局部形式呈现之前,似乎某些逻辑会添加空格.候选人是:
我不知道从哪里开始寻找,所以任何提示都会非常受欢迎.
我有一个类接口作为构造函数参数.这个接口有两个实现,我想根据变量决定在运行时使用什么实现.
问题是上面的类是深入一个由Autofac解决的对象层次结构,因此我无法传入参数.
像下面这样的Somehing就是我想要实现的目标.
public interface IInterface1 {}
public interface IInterface2 {}
public class Class1 : IInterface2
{
public Class1(IInterface1 interface1)
{
}
}
public class Class2
{
public Class2(IInterface2 interface2)
{
}
}
public class Class3
{
public void GetClass2Instance(string interface1ImplementationToChoose)
{
// want to change which implementation of IInterface1 is resolved based on the interface1ImplementationToChoose variable
var class2 = container.Resolve<Class2>();
}
}
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
更新:
为了澄清,这是一个现有的对象层次结构,现有的应用程序使用它可以正常工作.此外,对象模型比此示例中显示的大得多.因此,我真的不想将工厂传递给对象图中的每个构造函数,以供该图中深层的类使用.
有没有办法让IInterface1的不同实现传递到Class1而没有Class2知道它的任何内容?
谢谢
我需要将 C 和 C++ 函数解析和拆分为主要组件(返回类型、函数名称/类和方法、参数等)。
我正在使用标题或签名采用以下形式的列表:
公共:void __thiscall myClass::method(int, class myOtherClass * )
我有以下正则表达式,适用于大多数功能:
(?<expo>public\:|protected\:|private\:) (?<ret>(const )*(void|int|unsigned int|long|unsigned long|float|double|(class .*)|(enum .*))) (?<decl>__thiscall|__cdecl|__stdcall|__fastcall|__clrcall) (?<ns>.*)\:\:(?<class>(.*)((<.*>)*))\:\:(?<method>(.*)((<.*>)*))\((?<params>((.*(<.*>)?)(,)?)*)\)
Run Code Online (Sandbox Code Playgroud)
有一些函数它不喜欢解析,但似乎与模式匹配。我不担心目前不是类成员的匹配函数(可以稍后处理)。该表达式用于 C# 程序,因此<label>s 用于轻松检索组。
我想知道是否有一个标准的正则表达式来解析所有函数,或者如何改进我的来处理奇怪的异常?
我有一些工作Javascript来操纵一些DOM元素.问题是,我不明白它为什么会起作用,这从来都不是一件好事.我正在尝试更多地了解面向对象的javascript和javascript最佳实践,因此组织可能看起来有点奇怪.
基本上,我包装了两个操纵CSContent对象内部DOM的方法.我创建对象的实例,content在$(document).ready并绑定一些事件中的功能content.但是,我很困惑如何在$(document).ready退出后仍然可以调用这些函数.这是不是意味着content已超出范围,其功能不可用?无论如何,这是代码:
function CSContent() {
var tweetTextArea = document.getElementById('cscontent-tweet'),
tweetTextElement = document.getElementById('edit-cscontent-cs-content-tweet'),
charCountElement = document.getElementById('cscontent-tweet-charactercount');
this.toggleTweetTextarea = function () {
$(tweetTextArea).slideToggle();
};
this.updateTweetCharacterCount = function () {
var numOfCharsLeft = 140 - tweetTextElement.value.length;
if (numOfCharsLeft < 0) {
$(charCountElement).addClass('cscontent-negative-chars-left');
}
else {
$(charCountElement).removeClass('cscontent-negative-chars-left');
}
charCountElement.innerHTML = '' + numOfCharsLeft + ' characters left.';
};
}
$(document).ready(function () {
var content = new CSContent();
//If the twitter …Run Code Online (Sandbox Code Playgroud) 我试着找到一个解决方案,现在~30分钟,找不到任何解决方案.我试图在CDT中设置代码样式,所以它给了我:
MyClass::MyClass() :
var1(1),
var2(2),
var3(3){
}
Run Code Online (Sandbox Code Playgroud)
代替
MyClass::MyClass() :
var1(1), var2(2), var3(3){
}
Run Code Online (Sandbox Code Playgroud)
但我找不到这样做的选择.
我能找到的唯一"初始化列表"选项实际上是数组,因此对我没用.
我的问题是:我错过了正确的位置吗?是否有插件可以比CDT更好地格式化C++代码?
假设我有两个名为defaultand的分支newfeature.我readme.txt在两个分支都有一个文件.我正在newfeature分支机构,我对readme.txt进行了更改.如果我在hg up default没有提交更改的情况下运行,Mercurial会自动将readme.txt的版本newfeature直接合并到default.
我该如何改变这种行为?我担心的是开发人员在切换分支之前忘记提交,从而合并他们正在处理的任何内容.
这是过程的样子:
C:\source\BranchTest\Main>hg branch
Exams
C:\source\BranchTest\Main>hg status
M readme.txt
C:\source\BranchTest\Main>hg up default
merging readme.txt
0 files updated, 1 files merged, 0 files removed, 0 files unresolved
C:\source\BranchTest\Main>
Run Code Online (Sandbox Code Playgroud)
请注意自动合并,因为我没有将更改提交到readme.txt.Mercurial并没有警告我会发生这种情况.
有什么建议?
我试图更好地掌握numpy数组,所以我有一个示例问题要询问它们:
假设我有一个名为a的numpy数组.我想在一个操作上执行一个操作,使其中的所有值递增,小于0,其余部分单独留下.例如,如果我有:
a = np.array([1,2,3,-1,-2,-3])
Run Code Online (Sandbox Code Playgroud)
我想回来:
([1,2,3,0,-1,-2])
Run Code Online (Sandbox Code Playgroud)
什么是最紧凑的语法?
谢谢!
我"试图"抓取页面中具有以下结构的网页:
<p class="row">
<span>stuff here</span>
<a href="http://www.host.tld/file.html">Descriptive Link Text</a>
<div>Link Description Here</div>
</p>
Run Code Online (Sandbox Code Playgroud)
我正在使用curl抓取网页:
<?php
$handle = curl_init();
curl_setopt($handle, CURLOPT_URL, "http://www.host.tld/");
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
$html = curl_exec($handle);
curl_close($handle);
?>
Run Code Online (Sandbox Code Playgroud)
我做了一些研究,发现我不应该使用正则表达式来解析从卷曲返回HTML,而且我应该使用PHP DOM.这就是我这样做的方式:
$newDom = new domDocument;
$newDom->loadHTML($html);
$newDom->preserveWhiteSpace = false;
$sections = $newDom->getElementsByTagName('p');
$nodeNo = $sections->length;
for($i=0; $i<$nodeNo; $i++){
$printString = $sections->item($i)->nodeValue;
echo $printString . "<br>";
}
Run Code Online (Sandbox Code Playgroud)
现在我并不假装我完全理解这一点,但我得到了要点,我确实得到了我想要的部分.唯一的问题是,我得到的只是HTML页面的文本,就像我从浏览器窗口中复制它一样.我想要的是实际的HTML,因为我想提取链接并使用它们,如下所示:
for($i=0; $i<$nodeNo; $i++){
$printString = $sections->item($i)->nodeValue;
echo "<a href=\"<extracted link>\">LINK</a> " . $printString . "<br>";
}
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,我无法获得链接,因为我只获取网页的文本而不是我想要的来源.我知道"curl_exec"正在拉HTML,因为我已经尝试过了,所以我相信DOM在某种程度上剥离了我想要的HTML.
c# ×2
c++ ×2
regex ×2
amazon-s3 ×1
autofac ×1
bluecloth ×1
branch ×1
bucket ×1
closures ×1
constructor ×1
dom ×1
eclipse ×1
eclipse-cdt ×1
erb ×1
form-helpers ×1
formatting ×1
function ×1
header ×1
html ×1
javascript ×1
jquery ×1
mercurial ×1
numpy ×1
php ×1
python ×1
ruby ×1
rubygems ×1
sql ×1