我需要确保某个输入只包含小写字母和连字符。实现这一目标的最佳惯用 clojure 是什么?
在 JavaScript 中,我会做这样的事情:
if (str.match(/^[a-z\-]+$/)) { ... }
Run Code Online (Sandbox Code Playgroud)
clojure 中更惯用的方式是什么,或者如果是这样,正则表达式匹配的语法是什么?
如何在变量中获取实例方法?例如:
class Foo
def bar
puts "bar"
end
end
Run Code Online (Sandbox Code Playgroud)
我希望能够操纵"bar"实例方法(例如,传递它).我该怎么做?
我知道我可以让班级保持不变
foo_class = Kernel.const_get("Foo")
Run Code Online (Sandbox Code Playgroud)
有什么类似的东西可以做到Foo#bar吗?
我正在学习node.js和mongodb.我在我的应用程序中使用mongoskin模块,但我似乎无法使用"upsert"功能.
我已经阅读了github上的(相当不透明的)mongoskin指南.这是我到目前为止所尝试的:
// this works. there's an insert then an update. The final "x" is "XX".
db.collection("stuff").insert({a:"A"}, {x:"X"});
db.collection("stuff").update({a:"A"}, {x:"XX"});
// this does NOT work. I thought it would do an upsert, but nothing.
db.collection("stuff").update({b:"B"}, {y:"YY"}, true);
Run Code Online (Sandbox Code Playgroud)
如何创建"更新或插入(如果不存在)"功能?
我有一个用 Node 7.9 编写的应用程序。它不是网络服务器。它正在执行各种文件操作、数据转换等。
我想对长时间运行的任务的性能进行一些优化(例如,一个任务处理 10GB 的数据并运行 30 小时)。
我似乎找不到任何关于如何分析我的应用程序在javascript 函数(例如,类方法)中花费的时间的信息。我发现了一些类似的已弃用的软件包,但没有显示 javascript 级别的信息。
此外,我尝试使用 webkit 内置分析器,但它没有在 javascript 函数级别向我显示信息。总的来说,它向我展示了很多时间花在操作映射等 C 函数中。
目前有哪些工具(如果有?)用于执行此操作?
我正在按照本教程学习firebase。我克隆了 repo。在第 7 步,我做了它所说的(不过,实际上,这里没有什么可做的,因为这些步骤已经在 repo 中完成了)。当我单击 UI 中的 [SIGN-IN WITH GOOGLE] 按钮时,身份验证窗口会弹出并立即关闭。
我正在 VMWare 中的 Ubuntu Guest 中进行开发。在 Firebase 控制台中为该应用授权了以下域:
firebase 网站说在这里提问。我首先进行了彻底搜索,(少数)其他发布的解决方案不起作用。
谁能告诉我为什么会这样?
对于我的生活,我无法理解实体处理的XML :: Twig文档.
我有一些用HTML :: Tidy生成的XML.电话如下:
my $tidy = HTML::Tidy->new({
'indent' => 1,
'break-before-br' => 1,
'output-xhtml' => 0,
'output-xml' => 1,
'char-encoding' => 'raw',
});
$str = "foo bar";
$xml = $tidy->clean("<xml>$str</xml>");
Run Code Online (Sandbox Code Playgroud)
产生:
<html>
<head>
<meta content="tidyp for Linux (v1.02), see www.w3.org" name="generator" />
<title></title>
</head>
<body>foo bar</body>
</html>
Run Code Online (Sandbox Code Playgroud)
XML :: Twig(可以理解)barf .我想做一些转换,通过XML :: Twig运行它:
my $twig = XML::Twig->new(
twig_handlers => {... handlers ...}
);
$twig->parse($xml);
Run Code Online (Sandbox Code Playgroud)
该$twig->parse行barfs的 ,但我无法弄清楚如何添加 元素编程.我尝试过这样的事情:
my …Run Code Online (Sandbox Code Playgroud) 我有一个以这种方式定义的服务:
angular.module("myApp")
.factory("myService.foo", function () {
// utterly delightful code
});
Run Code Online (Sandbox Code Playgroud)
我正在使用Karma和Jasmine进行测试.在测试中,我正在为我的大多数服务器测试做类似的事情:
describe('Service: someService', function () {
// load the service's module
beforeEach(module('myApp'));
// instantiate service
var _someService;
beforeEach(inject([function (someService) {
_someService = someService;
}]));
it('should do something', function () {
expect(!!_someService).toBe(true);
});
});
Run Code Online (Sandbox Code Playgroud)
当我尝试对名为"myService.foo"的服务执行相同操作时,它会抛出错误(当然):
describe('Service: myService.foo', function () {
// load the service's module
beforeEach(module('myApp'));
// instantiate service
var _myService;
beforeEach(inject([function (myService.foo) {
_myService = myService.foo;
}]));
it('should do something', function () {
expect(!!_myService).toBe(true);
});
});
Run Code Online (Sandbox Code Playgroud)
由于点语法的明显问题使得angular无法推断服务名称.如何注入此服务进行测试?我缺少一些替代语法吗?
我使用gnome-terminal(Ubuntu 10.10).我喜欢它,虽然我愿意为此功能切换到另一个.
任何人都可以告诉我如何向多个窗口广播击键?我发现最接近的是"终结者"程序,它允许广播到多个标签,但不允许广播到多个窗口.显然,当它进入v4时,从Konsole的v3中删除了类似的功能(不知道为什么).据我所知,在屏幕上也有类似的功能,但在窗口之间也没有.
我花了好几个小时看,但没有快乐.
我也愿意为一个通用解决方案(输入到任何类型的多个窗口),我可以适应终端窗口使用.
谢谢.
在Bash ......
我知道如何用printf正确填充
printf "%-10s" "potato"
Run Code Online (Sandbox Code Playgroud)
我知道如何用printf截断
printf "%.10s" "potatos are my best friends"
Run Code Online (Sandbox Code Playgroud)
我怎么能同时做到这两件事?
LIST="aaa bbbbb ccc ddddd"
for ITEM in $LIST; do
printf "%-.4s blah" $ITEM
done
Run Code Online (Sandbox Code Playgroud)
这打印
aaa blah
bbbbb blah
ccc blah
ddddd blah
Run Code Online (Sandbox Code Playgroud)
我想要它打印
aaa blah
bbbb blah
ccc blah
dddd blah
Run Code Online (Sandbox Code Playgroud)
我宁愿不做这样的事情(除非别无选择):
LIST="aaa bbbbb ccc ddddd"
for ITEM in $LIST; do
printf "%-4s blah" $(printf "%.4s" "$ITEM")
done
Run Code Online (Sandbox Code Playgroud)
虽然,显然,这是有效的(感觉丑陋和hackish).
我有一个非常大的数据文件(255G; 3,192,563,934行)。不幸的是,我的设备上只有204G的可用空间(没有其他我可以使用的设备)。我做了一个随机样本,发现在给定的100K行中,大约有10K唯一行...但是文件未排序。
通常我会说:
pv myfile.data | sort | uniq > myfile.data.uniq
Run Code Online (Sandbox Code Playgroud)
并让它运行一天左右。在这种情况下,这是行不通的,因为我的设备上没有足够的空间来存放临时文件。
我当时想我可以使用split,并且一次可以uniq在500K行上进行流传输到一个新文件中。有没有办法做这样的事情?
我以为我可以做类似的事情
tail -100000 myfile.data | sort | uniq >> myfile.uniq && trunc --magicstuff myfile.data
Run Code Online (Sandbox Code Playgroud)
但我想不出一种方法来正确截断文件。