close #13373 document (ref Foo)(a: 1) (#17804)

This commit is contained in:
Timothee Cour
2021-04-20 22:33:56 -07:00
committed by GitHub
parent 8de053d870
commit 7bce1f8578

View File

@@ -1702,7 +1702,17 @@ has the syntax `T(fieldA: valueA, fieldB: valueB, ...)` where `T` is
an `object` type or a `ref object` type:
.. code-block:: nim
var student = Student(name: "Anton", age: 5, id: 3)
type
Student = object
name: string
age: int
PStudent = ref Student
var a1 = Student(name: "Anton", age: 5)
var a2 = PStudent(name: "Anton", age: 5)
# this also works directly:
var a3 = (ref Student)(name: "Anton", age: 5)
# not all fields need to be mentioned, and they can be mentioned out of order:
var a4 = Student(age: 5)
Note that, unlike tuples, objects require the field names along with their values.
For a `ref object` type `system.new` is invoked implicitly.