假设我在AngularJS中有一个控制器:
myApp.controller('SearchController',
function ($scope, UserService) {
// for intellisense, UserService is undefined here
var user = UserService.getUsers().then(function(data){
// yada yada
}, function(err){
// yada yada
});
});
Run Code Online (Sandbox Code Playgroud)
但是,在我的intellisense文件中,我可以动态注入UserService来获取它的函数:
intellisense.addEventListener('statementcompletion', function (event) {
// tried doing this, but doesn't work!
// event.target = {};
var injector = angular.injector(['ng', 'myApp']);
var dependency = injector.get(event.targetName);
event.items = [];
for (method in dependency) {
intellisense.logMessage(method);
event.items.push({ name: method, kind: 'field', value: function () { } });
}
});
Run Code Online (Sandbox Code Playgroud)
现在,如果我有一个全局变量(或函数变量)定义为UserService = {}我的控制器函数并在其中输入UserService. …
javascript intellisense javascript-intellisense angularjs visual-studio-2012
可能是一个简单的问题,但我正在远程运行CentOS 5.4命令行.我想重定向一个简单的Java文件的输出,让我们说循环在控制台中打印十万个数字到文本文件.问题是,我必须使用'screen'命令才能在后台运行它,即使我松开与远程计算机的会话,并且此命令不会写入所需的文件.
我试过的方法screen java MyClass >& log.txt还screen java MyClass > log.txt,但它并没有写入文件.为什么会发生这种情况,有什么解决方案吗?
我用正则表达式编写了一个小的Perl脚本来获取网站的HTML组件.
我知道这不是一种做这种工作的好方法,但我试图测试我的正则表达能力.
当在while循环中使用两个正则表达式模式中的任何一个运行时,它运行完美并显示正确的输出.但是当我尝试检查while循环中的两个模式时,第二个模式每次都匹配,循环无限运行.
我的剧本:
#!/usr/bin/perl -w
use strict;
while (<STDIN>) {
while ( (m/<span class=\"itempp\">([^<]+)+?<\/span>/g) ||
(m/<font size=\"-1\">([^<]+)+?<\/font>/g) ) {
print "$1\n";
}
}
Run Code Online (Sandbox Code Playgroud)
我正在使用示例输入测试上面的脚本:
<a href="http://linkTest">Link title</a>
<span class="itempp">$150</span>
<font size="-1"> (Location)</font>
Run Code Online (Sandbox Code Playgroud)
期望的输出:
$150
(Location)
Run Code Online (Sandbox Code Playgroud)
谢谢!任何帮助将非常感谢!
就像Chrome Developer Tool一样,我想知道是否有任何工具/扩展/插件允许我在Safari中导出时间轴数据.我尝试了每晚构建的webkit,但它没有这个功能.似乎这是Chrome特定的功能.
我必须使用Safari,因为我正在测试iPhone上的webapp.
我四处寻找任何提示,但无法得到任何提示.截至目前,我正在考虑获取时间线信息的两个选项:
任何指南/见解将受到高度赞赏!
更新1:我下载了Webkit,发现它支持通过USB进行远程iPhone调试.可能我可以找到Webkit的Web检查器代码,并使用该代码导出时间轴数据.
safari webkit web-inspector safari-extension google-chrome-devtools
我有一个文本文件,其中包含一个巨大的行号列表,我必须从另一个主文件中删除.这是我的数据的样子
lines.txt
1
2
4
5
22
36
400
...
Run Code Online (Sandbox Code Playgroud)
和 documents.txt
string1
string2
string3
...
Run Code Online (Sandbox Code Playgroud)
如果我有一个简短的行号列表,我可以轻松使用
sed -i '1d,4d,5d' documents.txt.
但是我必须删除很多行号.另外,我可以使用bash/perl脚本将行号存储在数组中,并回显不在数组中的行.但我想知道是否有内置命令来做到这一点.
任何帮助将受到高度赞赏.
我试着查看语法树,但是信息还不够,所以我创建了一个编译并获得了语法树的语义模型.现在我可以使用OfType<T>扩展方法获取属性和字段声明,其中T是PropertyDeclarationSyntax或FieldDeclarationSyntax.
在一个方法里面.Body.Statements我以为我可以找到代表我得到的符号的符号OfType<T>.但我很难搞清楚这一部分.语法树只是将符号标识为"IdentifierName",这没什么用处.
如果这不是正确的查看方式,请告诉我.
基本上在我排序后,我希望我的列用制表符分隔。现在它被两个空格隔开。手册页没有任何与输出格式相关的内容(至少我没有注意到)。
如果不可能,我想我必须使用 awk 进行排序和打印。还有更好的选择吗?
编辑: 为了澄清这个问题,双空格的位置不一致。我实际上有这样的数据:
<date>\t<user>\t<message>.
我按年、月、日和时间按日期排序,看起来像
Wed Jan 11 23:44:30 CST 2012
然后将排序数据的输出与原始文件一样
<date>\t<user>\t<message>.
编辑 2:似乎我对选项卡的测试是错误的。我正在将原始行从 bash 复制粘贴到我的 Windows 框。这就是为什么它没有识别为制表符而是显示空格的原因。我将整个文件下载到 Windows,现在我可以看到这些字段是制表符分隔的。
另外,我发现排序后的新文件中的字段分隔(\t \n 、: ; 等)是相同的。这意味着,在原始文件中,如果我有制表符分隔字段,我的排序文件也将被制表符分隔。
最后一件事,“正确”答案并不是问题的正确解决方案。我不知道我是否可以对我自己的线程发表评论并将其标记为正确。如果可以这样做,请告诉我。
谢谢你们的评论。真的很感谢你的帮助!
linux ×3
string ×2
text-files ×2
angularjs ×1
awk ×1
gnu-screen ×1
html ×1
intellisense ×1
java ×1
javascript ×1
output ×1
perl ×1
redirect ×1
regex ×1
roslyn ×1
safari ×1
sed ×1
sorting ×1
textedit ×1
webkit ×1