1 # This file is part of NIT ( http://www.nitlanguage.org ).
3 # Copyright 2004-2008 Jean Privat <jean@pryen.org>
5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at
9 # http://www.apache.org/licenses/LICENSE-2.0
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
17 # A procedural program (without explicit class).
18 # It displays the value of a local variable.
19 # It exhibs ways to concatenate strings.
22 # First way: Multiple parameters.
24 # Con: Only for multi parameters methods.
25 printn
("The value of a is: ", a
, ".\n")
27 # Second way: Build a string and display it.
28 # Pro: Eiffel way (rigourous).
29 # Con: Eiffel way (heavy).
30 var s
: Buffer = new FlatBuffer.from
("The value of a is: ")
35 # Third way: Use a intern string evaluation.
36 # Pro: Script way (easy).
37 # Con: Script way (unreadeable on complexes cases).
38 printn
("The value of a is: {a}.\n")
40 # Fourth way: String concatenation
42 # Con: Unefficient (slow and consumes memory).
43 printn
("The value of a is: " + a
.to_s
+ ".\n")
45 # Fiveth way: Join arrays.
46 # Pro: Sometime efficient on complex concatenation.
48 printn
(["The value of a is: ", a
.to_s
, ".\n"].join
)