📜  Euphoria-基本语法

📅  最后修改于: 2020-11-04 07:41:54             🧑  作者: Mango


 

Euphoria语言与Perl,C和Java有许多相似之处。但是,两种语言之间存在一定的区别。本章旨在使您快速掌握Euphoria中期望的语法。

本教程假定您正在使用Linux,并且所有示例均已在Linux平台上编写。但是可以观察到,在Linux和WIN32上,程序语法没有显着差异。因此,您可以在WIN32上执行相同的步骤。

第一个幸福感计划

让我们用脚本编写一个简单的Euphoria程序。在test.ex文件中键入以下源代码并保存。

#!/home/euphoria-4.0b2/bin/eui

puts(1, "Hello, Euphoria!\n")

让我们说,Euphoria解释器位于/home/euphoria-4.0b2/bin/目录中。现在如下运行该程序-

$ chmod +x test.ex    # This is to make file executable
$ ./test.ex

这产生以下结果-

Hello, Euphoria!

该脚本使用了内置函数puts() ,该函数带有两个参数。第一个参数指示文件名或设备号,第二个参数指示您要打印的字符串。这里1表示STDOUT设备。

Euphoria标识符

欣快标识符是用于标识变量,函数,类,模块或其他对象的名称。标识符以字母A到Z或a到z开头,然后是字母,数字或下划线。

幸福感不允许标点字符如@,$,和标识符%以内。

欣快感是区分大小写的编程语言。因此,人力人力是欣快感中的两个不同的标识符。例如,有效的标识符是-

  • ñ
  • 颜色26
  • 壳排序
  • quick_sort
  • a_very_long_indentifier

保留字

以下列表显示了幸福感中的保留字。这些保留字不得用作常量或变量或任何其他标识符名称。欣快感关键字仅包含小写字母。

and exit override
as export procedure
break fallthru public
by for retry
case function return
constant global routine
continue goto switch
do if then
else ifdef to
elsedef include type
elsif label until
elsifdef loop while
end namespace with
entry not without
enum or xor

表达方式

欣快使您可以通过形成表达式来计算结果。但是,在“幸福感”中,您可以使用一个表达式对整个数据序列执行计算。

您可以像处理单个数字一样处理序列。可以将其复制,传递到子例程或作为一个单元进行计算。例如-

{1,2,3} + 5

这是一个将序列{1、2、3}和原子5相加以获得结果序列{6、7、8}的表达式。您将在后续章节中学习序列。

代码块

程序员在学习欣快感时遇到的第一个警告是,事实是没有括号可以指示用于过程和函数定义或流控制的代码块。代码块由关联的关键字表示。

以下示例显示if … then … end if block-

if condition then
   code block comes here
end if

多行语句

Euphoria中的语句通常以换行结尾。但是,幸福感确实允许多行编写单个语句。例如-

total = item_one + 
   item_two + 
   item_three

转义字符

可以使用反斜杠输入转义字符。例如-

下表是可以用反斜杠表示的转义字符或不可打印字符的列表。

Backslash notation Description
\n Newline
\r Carriage return
\t Tab
\\ Backslash
\” Double quote
\’ Single quote

Euphoria注释

任何注释都将被编译器忽略,并且对执行速度没有影响。建议在程序中使用更多注释以使其更具可读性。

评论文本有三种形式-

  • 注释以两个破折号开头,并延伸到当前行的末尾。
  • 多行格式注释保留在/*…*/中,即使该注释出现在另一行中也是如此。
  • 您可以使用以两个字符序列“#!”开头的特殊注释。仅在程序的第一行。

例子

#!/home/euphoria-4.0b2/bin/eui
-- First comment
puts(1, "Hello, Euphoria!\n") -- second comment

/* This is a comment which extends over a number
   of text lines and has no impact on the program
*/

这产生以下结果-

Hello, Euphoria!

注意-您可以使用以“#!”开头的特殊注释。这将通知Linux Shell您的文件应由Euphoria解释器执行。