使用时sqlite3_prepare_v2,是每条路径都需要调用sqlite3_finalize,还是只在成功时调用?例如,这是我在 Swift 方法中使用的代码:
let prepare = sqlite3_prepare_v2(db!, SQLString, -1, &delete, nil)
if (prepare == SQLITE_OK){
if !(sqlite3_step(delete) == SQLITE_DONE){
sqlite3_finalize(delete) // *
sqlite3_close(db)
return
}
} else {
// **
sqlite3_close(db)
return
}
sqlite3_finalize(delete)
sqlite3_close(db)
// rest of method continues if it didn't fail
Run Code Online (Sandbox Code Playgroud)
* 我假设我需要在这里调用它,因为即使没有成功运行该语句也已成功准备
** 但我需要在这里调用它吗?
如果我有一个可选字符串数组,并且我想以 nils 开头的升序对其进行排序,我可以在一行中轻松完成:
["b", nil, "a"].sorted{ $0 ?? "" < $1 ?? "" } // [nil, "a", "b"]
Run Code Online (Sandbox Code Playgroud)
但是似乎没有任何类似的简单解决方案可以将 nil 排序到数组的末尾。使用大多数其他简单数据类型可以轻松完成,例如:
[2, nil, 1].sorted{ $0 ?? Int.max < $1 ?? Int.max } // [1, 2, nil]
Run Code Online (Sandbox Code Playgroud)
对于双打,您可以使用greatestFiniteMagnitude,对于日期,您可以使用distantFuture。是否有任何类型的字符串等价物,或任何其他简洁的方法来做到这一点,这样我就可以避免编写一堆凌乱的条件?
该测试正在打印fine!!!!。为什么不打印出来UNDEFINED!!!!?
describe('process test', () => {
require('dotenv').config()
it('will make a call from the athena library to get data', async () => {
process.env["FOO"] = undefined
const foo: string | undefined = process.env["FOO"]
if (foo === undefined) {
console.log('UNDEFINED!!!!')
} else {
console.log('fine!!!!')
}
})
})
Run Code Online (Sandbox Code Playgroud) 我正在自己学习 HTML,我遇到了以下外部链接,该链接为 CSS 中的标签分配了不同的字体:
<link href="https://fonts.googleapis.com/css?family=Lobster" rel="stylesheet" type="text/css">
Run Code Online (Sandbox Code Playgroud)
我不能为我的生活找到什么的定义?(问号)在这个标签中。有人可以解决这个问题吗?提前致谢。