- Learning Rust
- Paul Johnson Vesa Kaihlavirta
- 271字
- 2021-07-02 23:07:21
Positioning the output
One of the more useful extensions in C# is string.Format(...);. This allows for a string to be constructed based on parameters at particular positions. For example, the following statement constructs a string where the parameter at a position after the string literal is inserted into the string (here, the letter B is inserted twice in the middle of the string and then at the end):
var myString = string.Format("Hello {0}, I am a {1}{1}{2} computer model {1}", name, "B", "C");
Rust also supports this form, but with the difference that the positioning may be omitted.
Consider the following examples:
format!("{} {}", 2, 10); // output 2 10 format!("{1} {} {0} {}", "B", "A");
The first example is what we've seen before. The format string gets filled with the parameters on the right, in order.
In the second example, it would seem that we're asking for four parameters, but have only supplied two. The way this works is that the positional arguments are ignored when filling in the non-positional arguments. Indexing, as is usual in programming, starts at zero. This is how the arguments are processed:
- {1} inserts the second parameter A
- {} inserts the first parameter B
- {0} inserts the first parameter B
- {} inserts the second parameter A
Therefore, the output is going to be A B B A.
The following are the two important rules governing the positional parameters:
- All of the arguments within the quotes must be used. Failure to do so will result in a compiler error.
- You can refer to the same argument as many times as you like within the format string.
- Learning Neo4j
- Django+Vue.js商城項目實戰(zhàn)
- 垃圾回收的算法與實現(xiàn)
- Java面向對象程序開發(fā)及實戰(zhàn)
- Unity Shader入門精要
- Android Native Development Kit Cookbook
- Learning Unreal Engine Android Game Development
- Mastering React
- Java語言程序設計教程
- Julia 1.0 Programming Complete Reference Guide
- Spring Boot實戰(zhàn)
- Mastering Python Design Patterns
- Android應用開發(fā)深入學習實錄
- 寫給程序員的Python教程
- 區(qū)塊鏈架構之美:從比特幣、以太坊、超級賬本看區(qū)塊鏈架構設計