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
commit 7bce1f8578
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

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: an `object` type or a `ref object` type:
.. code-block:: nim .. 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. Note that, unlike tuples, objects require the field names along with their values.
For a `ref object` type `system.new` is invoked implicitly. For a `ref object` type `system.new` is invoked implicitly.