我有一个 markdown 文件,其中的行带有尾随空格(这是正确的,应该提交)。我无法将这些更改添加git add -p
到索引中,因为 git 抱怨尾随空格。如果我使用它们,它们会被正确添加git add -A
,但我希望它能够与git add -p
.
我的~/.gitconfig
:
[core]
whitespace = trailing-space,space-before-tab
Run Code Online (Sandbox Code Playgroud)
这一直工作得很好,因为在大多数情况下我确实想对尾随空格发出警告(这在 HTML、JS 和 Ruby 文件中是不正确的)。
如何仅忽略 Markdown 文件中的尾随空格?
我正在尝试在Ruby中按字母顺序对字符串进行排序.问题是,它将大写单词放在字符串的开头,但我最后想要它们.
我原来的字符串是: ["Apple", "banana", "Zebra", "orange"]
我想要的是: ["banana", "orange", "Apple", "Zebra"]
在我的 powershell 配置文件中,我有一个 的快捷方式docker ps
,其格式设置是为了提高可读性
function dps {
docker ps --format "table {{.Names}}\t{{.ID}}\t{{.Status}}\t{{.Ports}}" | Sort-Object
# ????
# Tee-Object -Variable lines |
# select -first 1 |
# Write-Host;
# $lines | Sort-Object | Write-Host # Prints nothing
}
Run Code Online (Sandbox Code Playgroud)
以这种方式对行进行排序效果很好,并按名称对容器进行分组,但表头最终出现在输出的中间。
您可以看到我尝试分离出第一行输出(标题),但我不知道如何让表格继续打印。如何在排序和打印表格时将表格标题保持在顶部?
样本输出
database_A 27b33272e64c Up 15 hours 3306/tcp, 33060/tcp
database_B 1b1662223f17 Up 15 hours 33060/tcp, 0.0.0.0:33640->3306/tcp
database_C 8f98fc0890cc Up 15 hours 3306/tcp, 33060/tcp
framework_A a0d829729c8e Up 15 hours (unhealthy) 5050/tcp, 0.0.0.0:5170->80/tcp
NAMES CONTAINER ID STATUS PORTS
service_A …
Run Code Online (Sandbox Code Playgroud) 检查:
"test.one.two".split(".") # => ["test", "one", "two"]
Run Code Online (Sandbox Code Playgroud)
对,完美.正是我们想要的.
"test..two".split(".") # => ["test", "", "two"]
Run Code Online (Sandbox Code Playgroud)
我one
用空字符串替换,这样才有意义
"test".split(".") # => ["test"]
Run Code Online (Sandbox Code Playgroud)
这就是我所期望的,这里没有问题.
".test".split(".") # => ["", "test"]
Run Code Online (Sandbox Code Playgroud)
是的,我的字符串有一个,.
所以我得到了两个部分.
"test.".split(".") # => ["test"]
Run Code Online (Sandbox Code Playgroud)
什么?.
我的字符串中有一个,它本应分为两部分.我没有要求摆脱空字符串; 它没有在测试2或4中摆脱空字符串.
我原以为["test", ""]
"".split(".") # => []
Run Code Online (Sandbox Code Playgroud)
什么?这应该操作几乎恰好像测试3,并返回[""]
.但是现在我无法执行任何字符串方法result[0]
为什么在边缘或空字符串上发生的分裂不一致?
因此,通常在if
条件中初始化变量,然后在if的块内使用该变量.
if a = foo()
puts a
end
Run Code Online (Sandbox Code Playgroud)
但是,当我初始化一个变量并在同一个if块中使用它时,那个var将不会被认为是初始化的.例如:
def good?(item)
puts "item is #{item.inspect}"
true
end
if b = 52 && good?(b)
puts "b is #{b.inspect}"
end
Run Code Online (Sandbox Code Playgroud)
运行上面的结果将是
item is nil
b is true
Run Code Online (Sandbox Code Playgroud)
为什么会这样?什么样的关键字与我搜索和研究的这种Ruby行为有关?