Difference between revisions of "Tutorial tour"

From Liberty Eiffel Wiki
Jump to navigation Jump to search
m (10 revisions: initial import from SamrtEiffel Wiki - The Grand SmartEiffel Book)
(No difference)

Revision as of 22:50, 3 March 2013


Welcome to the guided tour of the tutorial!

All the classes in the tutorial are provided with your SmartEiffel installation, in the tutorial directory.

Easy starting

Hello world... To execute the program, go to the SmartEiffel/tutorial directory and execute the command:

se c HELLO_WORLD make -o hello

The meaning of the command is

se the front-end tool for the SmartEiffel compiler
c the tool invoked by se for compile into an executable
HELLO_WORLD the class of which an object is created (you may also write it in lower-case, or use its filename with the .e extension)
make the creation procedure of the HELLO_WORLD class to call
-o hello generates an executable with the name hello (linux) or hello.exe (windows)

The command produces an executable, usually hello or hello.exe depending on the system. After compiling is finished, you can run the executable.

This unavoidable program is in hello_world.e and lets you grasp the basic concepts of Eiffel. Those concepts are:

  • Everything is a class. In Eiffel, outside classes there is no salvation.
  • The program starts by creating an object. Here, the method is the make creation feature in the class HELLO_WORLD.
  • Each file is named after the name of the class it contains, in lower-case, with the .e extension.
  • Note the special object io that allows you to write text on the standard output. We will see that it also lets you read data.
  • For the Eiffel syntax, look here.

See also:

  • fibonacci.e
  • knight.e
  • pyramide.e and pyramide2.e
  • gcd
  • hanoi
  • parking
  • triangle

To compile the other samples you must modify the compiler command.

Some important concepts

ACE files

Input-output

  • io
  • directory
  • basic_directory?

Arguments

print_arguments.e

Collections

including iterator and sorting

Manifest notations

manifest_notation.e

Downcasting

downcasting.e

To go further

Agents

... and tuples

external

cecil

Memory management

memory

Extension libraries

Random

Date & time

Storable

Sequencer

Vision

visiopn, signal

Network

Execution