我知道 PVC 可以用作 k8s 中的卷。我知道如何创建它们以及如何使用它们,但我不明白为什么有两个,PV 和 PVC。
有人能给我一个 PV/PVC 区别背后的建筑原因吗?它试图解决什么样的问题(或者这背后有什么历史原因)?
有什么舒适的方式来获取价值Vec<Vec<T>>吗?Vec我可以对普通的一维:执行此操作vec.get(),但如果vec是Vec<Vec>,则 get 返回Some<Vec<T>>,而不是 的值T。有没有一种从二维矩阵()中“获取”值的好方法Vec<Vec<T>>?
我有一个Vec带有切片的迭代器。有些是正常顺序,有些是相反的。
let mut output = Vec::new();
let input = b"1234567890";
let cuts = [(0,1), (1,3), (3, 5)];
for (start, end) in cuts{
output.push(input[start..end].iter());
output.push(input[start..end].iter().rev());
}
Run Code Online (Sandbox Code Playgroud)
但我无法编译它,因为
expected struct `std::slice::Iter`, found struct `Rev`
Run Code Online (Sandbox Code Playgroud)
我理解这个错误,但如果我可以将两个迭代器转换为某种常见类型(而不“收集”它们),我会感到受伤。
UPD:我什至尝试使用.iter().rev().rev(),但它是一种不同的类型iter().rev()......
我正在学习如何使用 py.test 编写测试,但我不知道如何模拟外部调用。
假设我有一个测试代码:
应用程序.py:
import random
def trade_robot(stock, price):
return ' '.join((random.choice(('buy', 'sell', 'keep')), stock))
Run Code Online (Sandbox Code Playgroud)
我想确保我检查 random.choice 的情况,决定我需要购买(并且我想检查它是否正确连接“购买”情况的字符串)。
我的测试代码应该如下所示:
import pytest
from app import trade_robot
import sys
def test_buy_case():
# some mock magic here
assert trade_robot('AAPL', 500) == 'buy AAPL'
if __name__ == "__main__":
pytest.main("-v %s" % sys.argv[0])
Run Code Online (Sandbox Code Playgroud)
“一些模拟魔法”中应该包含什么才能使该测试每次都通过?谢谢!