函数参数旁边的两个单引号括起来的字母是什么意思?
What do letters enclosed by two single quotes next to a function argument mean?
当我遇到一些我找不到任何相关的语法时,我尝试使用 Rust 的 LAPACK 绑定。
来自 https://github.com/stainless-steel/lapack 的示例代码:
let n = 3;
let mut a = vec![3.0, 1.0, 1.0, 1.0, 3.0, 1.0, 1.0, 1.0, 3.0];
let mut w = vec![0.0; n];
let mut work = vec![0.0; 4 * n];
let lwork = 4 * n as isize;
let mut info = 0;
lapack::dsyev(b'V', b'U', n, &mut a, n, &mut w, &mut work, lwork, &mut info);
for (one, another) in w.iter().zip(&[2.0, 2.0, 5.0]) {
assert!((one - another).abs() < 1e-14);
}
b'V' 和 b'U' 是什么意思?
它使用引号之间字符的 ASCII 值创建一个 u8
值。
对于 ASCII 字面值,与 'V' as u8
相同。
此外,双引号字符串上的 b
前缀将创建一个包含字符串的 UTF8 内容的字节数组。
let s: &[u8; 11] = b"Hello world";
b'A'
表示创建一个字节文字。具体来说,它将是一个 u8
包含字符的 ASCII 值:
fn main() {
let what = b'a';
println!("{}", what);
// let () = what;
}
注释行向您展示了如何查找类型。
b"hello"
类似,但会产生对 u8
数组的引用,一个 字节字符串 :
fn main() {
let what = b"hello";
println!("{:?}", what);
// let () = what;
}
此类内容记录在 Syntax Index 中,目前仅在文档的夜间版本中可用。
当我遇到一些我找不到任何相关的语法时,我尝试使用 Rust 的 LAPACK 绑定。
来自 https://github.com/stainless-steel/lapack 的示例代码:
let n = 3;
let mut a = vec![3.0, 1.0, 1.0, 1.0, 3.0, 1.0, 1.0, 1.0, 3.0];
let mut w = vec![0.0; n];
let mut work = vec![0.0; 4 * n];
let lwork = 4 * n as isize;
let mut info = 0;
lapack::dsyev(b'V', b'U', n, &mut a, n, &mut w, &mut work, lwork, &mut info);
for (one, another) in w.iter().zip(&[2.0, 2.0, 5.0]) {
assert!((one - another).abs() < 1e-14);
}
b'V' 和 b'U' 是什么意思?
它使用引号之间字符的 ASCII 值创建一个 u8
值。
对于 ASCII 字面值,与 'V' as u8
相同。
此外,双引号字符串上的 b
前缀将创建一个包含字符串的 UTF8 内容的字节数组。
let s: &[u8; 11] = b"Hello world";
b'A'
表示创建一个字节文字。具体来说,它将是一个 u8
包含字符的 ASCII 值:
fn main() {
let what = b'a';
println!("{}", what);
// let () = what;
}
注释行向您展示了如何查找类型。
b"hello"
类似,但会产生对 u8
数组的引用,一个 字节字符串 :
fn main() {
let what = b"hello";
println!("{:?}", what);
// let () = what;
}
此类内容记录在 Syntax Index 中,目前仅在文档的夜间版本中可用。