元組
元組是乙個可以包含各種型別的組合。元組使用括號 () 來構成,每個元組的值都是 (t1, t2, ...)
型別標記的形式,其中 t1,t2 是每個元素的型別。函式可以使用元組來返回多個值,因為元組可以
擁有任意數量的值。
// 元組可以充當函式的引數和返回值
fn reverse(pair: (i32, bool)) -> (bool, i32) ", long_tuple.0);
println!("long tuple second value: {}", long_tuple.1);
// 元組也可以充當元組的元素
let tuple_of_tuples = ((1u8, 2u16, 2u32), (4u64, -1i8), -2i16);
// 元組可以列印
println!("tuple of tuples: ", tuple_of_tuples);
let pair = (1, true);
println!("pair is ", pair);
println!("the reversed pair is ", reverse(pair));
// 建立單元素元組需要乙個額外的逗號,這是為了和括號包含的普通資料作區分。
println!("one element tuple: ", (5u32,));
println!("just an integer: ", (5u32));
// 解構元組,將值賦給建立的繫結變數
let tuple = (1, "hello", 4.5, true);
let (a, b, c, d) = tuple;
println!(", , , ", a, b, c, d);
let matrix = matrix(1.1, 1.2, 2.1, 2.2);
println!("", matrix)
動手試一試
重新試一下:在上面的例子中給 matrix 結構體 加上 fmt::display trait,讓你能夠將
列印除錯格式 切換成一般顯示格式 {},得到如下的輸出:
( 1.1 1.2 )
( 2.1 2.2 )
可以回顧之前學過的例子 [列印顯示][print_display]。
以 reverse 函式作為樣本,新增乙個 transpose 函式,使它可以接受乙個 matrix 的引數,並
返回乙個兩個元素元素交換後 matrix。舉個例子:
println!("matrix:\n{}", matrix);
println!("transpose:\n{}", transpose(matrix));
輸出結果:
matrix:
( 1.1 1.2 )
( 2.1 2.2 )
transpose:
( 1.1 2.1 )
( 1.2 2.2 )
通過例子學Vyper(一)
學習一門語言,最好的方法就是動手去實現乙個案例。本文通過乙個官方的公開拍賣合約示例來介紹vyper程式設計。當我們開始用vyper進行智慧型合約程式設計時,要記住乙個重要的原則 所有vyper語法都是有效的python3語法,但並不是所有的python3語法都可以在vyper中使用。在這個合約中,我...
通過日誌恢復MS SQL資料案例
前提條件是資料庫的故障恢復改為非簡單模式,去掉自動關閉和自動收縮兩個選項。1 建立乙個資料庫test 建立時間為2006 11 18 09 40 2 對資料庫進行備份,備份時間為2006 11 18 09 42 語句如下 backup database test to disk d database...
通過日誌恢復MS SQL資料案例
前提條件是資料庫的故障恢復改為非簡單模式,去掉自動關閉和自動收縮兩個選項。1 建立乙個資料庫test 建立時間為2006 11 18 09 40 2 對資料庫進行備份,備份時間為2006 11 18 09 42 語句如下 backup database test to disk d database...