我在youtube上观看Raymond Hettinger的 python 讲座.他展示了退出循环的正确方法:
def find(seq, target):
for i, value in enumerate(seq):
if value == target:
break
else:
return -1
return i
Run Code Online (Sandbox Code Playgroud)
我不明白为什么要烦恼其他声明,而不仅仅是:
def find(seq, target):
for i, value in enumerate(seq):
if value == target:
return i
return -1
Run Code Online (Sandbox Code Playgroud)
我是否遗漏了某些内容,或者出于某种原因有时添加其他/ break语句也是个好主意?
在我的项目中,我有一些看起来像这样的数据类型
data StructureA = StructureA [Int] Bool Int
data StructureB = StructureB [String] String
Run Code Online (Sandbox Code Playgroud)
我的目标是将函数映射到包含在此类数据类型的实例中的数组
inst = StructureA [1,1,1] True 0
fmap (+1) inst -- [2,2,2]
Run Code Online (Sandbox Code Playgroud)
我的初始解决方案解决方案如此
instance Functor StructureA where
fmap (StructureA arr _ _) = fmap arr
Run Code Online (Sandbox Code Playgroud)
但是,我得到了错误的错误.
问题是我如何声明一个可以多态应用于这些数据结构的函数?
扫描文档可以发现:
{
"key": "f4",
"command": "workbench.action.tasks.runTask"
}
Run Code Online (Sandbox Code Playgroud)
但它只打开任务面板并提示选择任务。问题是我如何运行特定任务?
{
"key": "f4",
"command": "workbench.action.tasks.runTask.customTask"
}
//Command not found
Run Code Online (Sandbox Code Playgroud)