Lua实现一个复数计算器,支持加减乘除复数运算
--[[
By: Yatwohee_是熙不是曦
Time: 2024/3/10 22:54:38
S3赛季
]]
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Complex = {}; -- 定义一个名为Complex的table,用于存储复数相关的函数和方法
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
function Complex.new(r, i) -- 定义Complex.new方法,用于创建一个新的复数对象
return { r = r or 0, i = i or 0 }; -- 返回一个table,其中r表示实部(默认为0),i表示虚部(默认为0)
end
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
function Complex.add(c1, c2) -- 定义Complex.add方法,用于计算两个复数的加法
return Complex.new(c1.r + c2.r, c1.i + c2.i); -- 返回一个新的复数对象,其实部为两个复数实部的和,虚部为两个复数虚部的和
end
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
function Complex.sub(c1, c2) -- 定义Complex.sub方法,用于计算两个复数的减法
return Complex.new(c1.r - c2.r, c1.i - c2.i); -- 返回一个新的复数对象,其实部为第一个复数实部减去第二个复数实部,虚部为第一个复数虚部减去第二个复数虚部
end
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
function Complex.mul(c1, c2) -- 定义Complex.mul方法,用于计算两个复数的乘法
return Complex.new(c1.r * c2.r - c1.i * c2.i, c1.r * c2.i + c1.i * c2.r); -- 返回一个新的复数对象,其实部为两个复数实部的乘积减去两个复数虚部的乘积,虚部为两个复数实部与虚部的乘积之和
end
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
function Complex.div(c1, c2)