mirror of
https://github.com/EiffelSoftware/eiffel-org.git
synced 2025-12-07 07:12:25 +01:00
Updated wikipage Code Templates. (Signed-off-by:jocelyn).
git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@2392 abb3cda0-5349-4a8f-a601-0c33ac3a8c38
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
[[Property:modification_date|Mon, 02 Sep 2019 08:02:24 GMT]]
|
[[Property:modification_date|Fri, 14 Apr 2023 08:22:51 GMT]]
|
||||||
[[Property:publication_date|Mon, 02 Sep 2019 08:02:24 GMT]]
|
[[Property:publication_date|Mon, 02 Sep 2019 08:02:24 GMT]]
|
||||||
[[Property:uuid|7CCF602E-0B79-49C2-93FE-39C90CBE4E35]]
|
[[Property:uuid|7CCF602E-0B79-49C2-93FE-39C90CBE4E35]]
|
||||||
[[Property:link_title|Code Templates]]
|
[[Property:link_title|Code Templates]]
|
||||||
@@ -106,6 +106,7 @@ To offer templates as part of code completion, EiffelStudio looks in two locatio
|
|||||||
** Windows: <code>C:/Users/your_user_name/Documents/Eiffel User Files/16.11/templates/code</code>
|
** Windows: <code>C:/Users/your_user_name/Documents/Eiffel User Files/16.11/templates/code</code>
|
||||||
|
|
||||||
If you define templates for your own specific use, store them in the second location.
|
If you define templates for your own specific use, store them in the second location.
|
||||||
|
The template file should be an Eiffel file (with `e` file extension).
|
||||||
|
|
||||||
== Defining a targeted template ==
|
== Defining a targeted template ==
|
||||||
Here is how we defined the template used in the above targeted example:
|
Here is how we defined the template used in the above targeted example:
|
||||||
@@ -147,11 +148,34 @@ This class defines two targeted templates: ''maximum'' for the maximum of an ent
|
|||||||
To specify the target type, here arrays, just use it as the actual generic parameters of TEMPLATE (which is a generic class). Here indeed, the the definition starts as
|
To specify the target type, here arrays, just use it as the actual generic parameters of TEMPLATE (which is a generic class). Here indeed, the the definition starts as
|
||||||
|
|
||||||
<code>
|
<code>
|
||||||
class ARRAY_TEMPLATE [T -> COMPARABLE] inherit
|
class ARRAY_TEMPLATE [T -> COMPARABLE]
|
||||||
|
|
||||||
TEMPLATE [ARRAY [T]]
|
inherit
|
||||||
|
TEMPLATE [ARRAY [T]]
|
||||||
</code>
|
</code>
|
||||||
|
|
||||||
|
Another example, without generic parameters:
|
||||||
|
|
||||||
|
<code>
|
||||||
|
class STRING_UTF_8_TEMPLATE [T -> READABLE_STRING_GENERAL]
|
||||||
|
|
||||||
|
inherit
|
||||||
|
TEMPLATE [T]
|
||||||
|
|
||||||
|
feature -- Templates
|
||||||
|
|
||||||
|
to_utf_8: STRING_8
|
||||||
|
-- STRING_8 string from `target'.
|
||||||
|
note
|
||||||
|
title: "To UTF-8 STRING"
|
||||||
|
tags: "Unicode, String, STRING"
|
||||||
|
do{UTF_CONVERTER}.utf_32_string_to_utf_8_string_8 (target)end
|
||||||
|
|
||||||
|
end
|
||||||
|
</code>
|
||||||
|
(note: in that example, there is no space after the `do` and before the `end`, so the template is applied without adding extra unwanted spaces)
|
||||||
|
|
||||||
|
== Integration within EiffelStudio ==
|
||||||
|
|
||||||
The correspondence between what you write in the template definition and what appears in EiffelStudio, as shown in previous sections, is straightforward:
|
The correspondence between what you write in the template definition and what appears in EiffelStudio, as shown in previous sections, is straightforward:
|
||||||
|
|
||||||
@@ -162,7 +186,6 @@ The correspondence between what you write in the template definition and what ap
|
|||||||
|
|
||||||
== Defining a targetless template ==
|
== Defining a targetless template ==
|
||||||
|
|
||||||
|
|
||||||
For a targetless template, just just use TEMPLATE without a generic parameter:
|
For a targetless template, just just use TEMPLATE without a generic parameter:
|
||||||
|
|
||||||
<code>
|
<code>
|
||||||
|
|||||||
Reference in New Issue
Block a user