My problem is the e in the code, I can't find the square function? So I want to ask what syntax is there in rust to explain this code.
In vscode, when I put the mouse on square and e, it prompts me respectively: {unknown}, mut e: {unknown}
My problem is the e in the code, I can't find the square function? So I want to ask what syntax is there in rust to explain this code.
In vscode, when I put the mouse on square and e, it prompts me respectively: {unknown}, mut e: {unknown}
If the IDE doesn't know the type, then find it out yourself. Search for the map
function in the documentation. There are a couple of results, but the relevant one here is obviously Option::map()
. If you click on it, you will be directed to its full signature, from which it is apparent that Option::<T>::map()
passes a T
(i.e., the wrapped type itself) to the closure.
I know this map is a function of Option, what I want to know is where is the "square" function here, I can't find it in the code. According to the comments here, it should be the square of x, but I can't find the code that performs this operation. Is there a function for square in the standard library?
When just reading the code (and not using IDE, otherwise it's possible to use "Go to definition"), there are three things which should be considered:
e
).use
statements present (actually, we need only traits, but syntactically they're not different).After that, there are two possibilities:
i use search and find that square in function.rs,this file in .rustup/../..
thank you
My point was, if it's a method, you need to know the receiver type. There's not enough context in your question for me to tell what exactly the inner type is, but the square()
function will be a method on whatever that type is.
This topic was automatically closed 90 days after the last reply. We invite you to open a new topic if you have further questions or comments.