跳转到内容

Ada 编程/分隔符/*

来自维基教科书,开放的书籍,面向开放的世界

Ada. Time-tested, safe and secure.
Ada。经久耐用,安全可靠。

运算符

[编辑 | 编辑源代码]

标准运算

[编辑 | 编辑源代码]

算术乘法

[编辑 | 编辑源代码]

"*" 运算符定义为所有数值类型的算术乘法。

function "*" (Left, Right : T) return T;
A : constant Float   := 5.0 * 2.0;  -- A is now 10.0
B : constant Integer := 5 * 2;      -- B is also 10
工作示例
[编辑 | 编辑源代码]
文件:operator_multiply.adb (查看, 纯文本, 下载页面, 浏览所有)
with Ada.Text_IO;

procedure Operator_Multiply is
   A : constant Float   := 5.0 * 2.0;  -- A is now 10.0
   B : constant Integer := 5 * 2;      -- B is also 10

   package T_IO renames Ada.Text_IO;
   package F_IO is new  Ada.Text_IO.Float_IO (Float);
   package I_IO is new  Ada.Text_IO.Integer_IO (Integer);

begin
   T_IO.Put ("A = ");
   F_IO.Put (
      Item => A,
      Fore => 3,
      Aft  => 1,
      Exp  => 0);
   T_IO.New_Line;
   T_IO.Put ("B = ");
   I_IO.Put (
      Item  => B,
      Width => 3,
      Base  => 10);
   T_IO.New_Line;
end Operator_Multiply;

常见非标准运算

[编辑 | 编辑源代码]

字符复制

[编辑 | 编辑源代码]

创建一个字符串,其中单个字符被复制 n 次。

function "*" (Left : Natural; Right : Character) return String;

除了标准字符串之外,此 运算符 也为 Bounded_String 和 Unbounded_String 定义。

A : constant String := 10 * 'X';  -- A is filled with 10 X
工作示例
[编辑 | 编辑源代码]

字符复制 运算符Ada.Strings.Fixed 的一部分。您需要withuse 该包来使 运算符 可见。

文件:operator_multiply_2.adb (查看, 纯文本, 下载页面, 浏览所有)
with Ada.Text_IO;
with Ada.Strings.Fixed;

procedure Operator_Multiply_2 is
   use Ada.Strings.Fixed;

   A : constant String := 10 * 'X';  -- A is filled with 10 X

   package T_IO renames Ada.Text_IO;

begin
   T_IO.Put_Line ("A = " & A);
end Operator_Multiply_2;

字符串复制

[编辑 | 编辑源代码]

创建一个字符串,其中源字符串被复制 n 次。

function "*" (Left : Natural; Right : String) return String;

除了标准固定字符串之外,此 运算符 也为 Bounded_String 和 Unbounded_String 定义。

A : constant String := 3 * "Hello ";  -- A is filled with 3 Hello
工作示例
[编辑 | 编辑源代码]

字符串复制 运算符Ada.Strings.Fixed 的一部分。您需要withuse 该包来使运算符可见。

文件:operator_multiply_3.adb (查看, 纯文本, 下载页面, 浏览所有)
with Ada.Text_IO;
with Ada.Strings.Fixed;

procedure Operator_Multiply_3 is
   use Ada.Strings.Fixed; 

   A : constant String := 3 * "Hello ";  -- A is filled with 3 Hello.

   package T_IO renames Ada.Text_IO;

begin
   T_IO.Put_Line ("A = " & A);
end Operator_Multiply_3;

另请参阅

[编辑 | 编辑源代码]

维基教科书

[编辑 | 编辑源代码]

Ada 95 参考手册

[编辑 | 编辑源代码]

Ada 2005 参考手册

[编辑 | 编辑源代码]



Ada 运算符
and and then > + abs &
or or else >= - mod
xor = < * rem in
not /= <= ** / not in
华夏公益教科书