这是一个我已经完成的旧计算机类项目,现在我想知道是否有更好的做事方式.
我们以前编写了一个约会时间程序,在那里我使用一种算法来解决比较时间,该算法将时间转换为你今天和明天可以比较的特定数字,当然会发生什么呢?它计算明天更大而且今天不是你可以通过比较所述转换时间来根据是否采用日期/小时来安排预约.
我想知道是否有一个操作系统命令来告诉我在linux中使用bash的时间?谢谢!
如果它是零,则尝试删除列表的第一个元素(不是真的,但是出于示例的目的).
给出一个清单:
val ns = List(0, 1, 2)
Run Code Online (Sandbox Code Playgroud)
删除第一个零可以通过将第一个匹配项删除为零来完成:
List(0, 1, 2).dropWhile(_ == 0)
res1: List[Int] = List(1, 2)
Run Code Online (Sandbox Code Playgroud)
或者你可以删除所有不为零的东西.
List(0, 1, 2).filter(_ > 0)
res2: List[Int] = List(1, 2)
Run Code Online (Sandbox Code Playgroud)
这些问题是当列表有多个零时.以前的解决方案不起作用,因为它们删除了太多的零:
List(0, 0, 1, 2, 0).filter(_ > 0)
res3: List[Int] = List(1, 2)
List(0, 0, 1, 2, 0).dropWhile(_ == 0)
res4: List[Int] = List(1, 2, 0)
Run Code Online (Sandbox Code Playgroud)
这有现成的功能吗?
我正在使用Google的Progressive Web 应用程序教程中的一些 Service Worker 代码, 但出现错误:
未捕获(承诺)类型错误: 无法对“响应”执行“克隆”: 响应正文已被使用
该站点使用第三方 Javascript 和样式表作为 Web 字体。我想将这些 CDN 上托管的资产添加到离线缓存中。
addEventListener("fetch", function(e) {
e.respondWith(
caches.match(e.request).then(function(response) {
return response || fetch(e.request).then(function(response) {
var hosts = [
"https://fonts.googleapis.com",
"https://maxcdn.bootstrapcdn.com",
"https://cdnjs.cloudflare.com"
];
hosts.map(function(host) {
if (e.request.url.indexOf(host) === 0) {
caches.open(CACHE_NAME).then(function(cache) {
cache.put(e.request, response.clone());
});
}
});
return response;
});
})
);
});
Run Code Online (Sandbox Code Playgroud)
这些托管在流行的 CDN 上,所以我的直觉是他们应该为 CORS 标头做正确的事情。
以下是我要缓存的 HTML 中的资产:
<link rel="stylesheet" type="text/css"
href="https://fonts.googleapis.com/css?family=Merriweather:900,900italic,300,300italic">
<link rel="stylesheet" type="text/css"
href="https://fonts.googleapis.com/css?family=Lato:900,300" rel="stylesheet">
<link rel="stylesheet" type="text/css" …Run Code Online (Sandbox Code Playgroud) 我构建了一个小脚本,用于解析给定文件类型的文件的目录,并将该位置(包括文件名)存储在数组中.看起来像这样:
def getFiles(directory)
arr = Dir[directory + '/**/*.plt']
arr.each do |k|
puts "#{k}"
end
end
Run Code Online (Sandbox Code Playgroud)
输出是路径和文件.但我只想要这条道路.
而不是/foo/bar.txt我只想要/ foo /
我的第一个想法是regexp,但我不知道该怎么做.
我有一个echo ="000000"和一个名为$ id的字符串,它是一个整数.
如果$ id = 1,如何添加"000000"+ $ id来获取000001?
我想要一个随机生成的正或负序列整数的文件.现在,我要求文件大致包含(不需要保证)相等数量的负数和正数,但可以在以后更改比例."串行"是指第k个随机负数等于-k,第k个随机正数等于+ k.
这个GNU Bash脚本单行将满足文件格式,但不会是随机的.
$ seq -1 -1 -5 && seq 1 5
-1
-2
-3
-4
-5
1
2
3
4
5
Run Code Online (Sandbox Code Playgroud)
这个例子显示了我正在寻找的更好的东西,但仍然不是随机的,因为整数在负面和正面之间可预测地交替.
$ paste <(seq -1 -1 -5) <(seq 1 5) | tr '\t' '\n'
-1
1
-2
2
-3
3
-4
4
-5
5
Run Code Online (Sandbox Code Playgroud)
通过shuf命令发送其中一个使它们随机为负或正,但它们会失去连续性.
$ paste <(seq -1 -1 -5) <(seq 1 5) | tr '\t' '\n' | shuf
-5
4
3
2
-2
1
-1
-4
5
-3
Run Code Online (Sandbox Code Playgroud)
注意:我正在尝试测试对列表/位数组(零和1)进行排序的算法,但如果我使用0和1,我将无法分析排序的行为或判断是否保留了稳定性.
我正在寻找将一个选项卡添加到选择中的所有行的快捷方式或功能。另外如何将一个选项卡减少到选择中的所有行?
对此有多个参考。但是我找不到像geany这样的常规编辑器那样在所选文本上模仿tab和shift-tab的使用。可以选择多行,然后使用 tab 或 shift-tab 左右移动文本,直到找到最好的为止。
我发现C-x tab <left> or <right> :这将选择中的所有行一次向左或向右移动一个空格。C-5 C-x tab将它移动 5 个空格然后停止。但我希望这些行在保持选择的同时一次移动制表符空间,以便我可以重复或撤消该过程。我怎样才能做到这一点?
基本上,我需要一个可以在选择一些行后调用的函数。这应该:
可以将上述功能添加到C-x tab快捷方式,其工作方式与此完全相同(使用左右键),但它一次仅移动一个空格。
我知道Scala可以在正则表达式上拆分字符串,就像在空格上进行以下简单拆分一样:
myString.split("\\s+").foreach(println)
Run Code Online (Sandbox Code Playgroud)
如果我想在空白处分割,考虑输入中可能存在带引号的字符串(我希望将其视为1件事)怎么办?
"""This is a "very complex" test"""
Run Code Online (Sandbox Code Playgroud)
在此示例中,我希望结果子字符串为:
This
is
a
very complex
test
Run Code Online (Sandbox Code Playgroud)