lua的多种实现方式(1-100的和)

复制代码
function add( a, b )
        return a + b 
end

-- print( add( 10, 20 ) )


function loopT( T )
        for i, v in ipairs( T ) do
                print( i, v )
        end
end

-- loopT{ 10, 20, 30, 40, 50, 100 }


function show( str )
        print( str )
end

--show "hello baby"


-- get sum of 1.....100

function calc( start_num, end_num  )
        local sum = 0
        for i = start_num, end_num do
                sum = sum + i
        end
        return sum
end

--print( calc( 1, 100 ) )


function calc2( start_num, end_num )
        local sum = 0
        local i = start_num
        while i <= end_num do
                sum = sum + i
                i = i + 1
        end
        return sum
end

-- print( calc2( 1, 100 ) )


function calc3( start_num, end_num )
        local sum = 0
        local i = start_num
        while true do
                sum = sum + i
                i = i + 1
                if i > end_num then break end
        end
        return sum
end

-- print( calc3( 1, 100 ) )


function calc4( start_num, end_num )
        local sum = 0
        local i = start_num
        repeat
                sum  = sum + i
                i = i + 1
        until i > end_num
        return sum
end

-- print( calc4( 1, 100 ) )


function calc5( start_num, end_num )
        local T = {}
        for i = start_num, end_num do
                T[i] = i
        end

        local sum = 0
        for i, v in ipairs( T ) do
                sum = sum + v
        end

        return sum
end

-- print( calc5( 1, 100 ) )
复制代码

 

posted @   ghostwu  阅读(653)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
Copyright ©2017 ghostwu
点击右上角即可分享
微信分享提示