鍍金池/ 教程/ Java/ Erlang循環(huán)(while和for)
Erlang關(guān)系運算符實例
Erlang決策
Erlang運算符
Erlang if語句
Erlang Shell
Erlang循環(huán)(while和for)
Erlang函數(shù)
Erlang內(nèi)嵌if語句
Erlang模塊
Erlang多表達式
Erlang算術(shù)運算符示例
Erlang位運算符實例
Erlang變量
Erlang基礎(chǔ)語法
Erlang遞歸
Erlang邏輯運算符實例
Erlang case語句
Erlang環(huán)境配置(開發(fā)環(huán)境)
Erlang數(shù)據(jù)類型
Erlang教程

Erlang循環(huán)(while和for)

Erlang是一個函數(shù)式編程語言,是需要記住所有函數(shù)的編程語言,它們不提供任何的循環(huán)結(jié)構(gòu)。而函數(shù)式編程取決于一個概念叫做遞歸。

while語句的實現(xiàn)

由于在 Erlang 中沒有可直接使用的 while 語句,就必須使用遞歸技術(shù)在 Erlang 中來實現(xiàn) while 語句。
我們將努力遵循 while 循環(huán)的實現(xiàn),如在其他編程語言中一樣。以下是遵守一個流程:
while循環(huán)實現(xiàn)
讓我們來看看如何使用遞歸來在 Erlang 中實現(xiàn) while 循環(huán)的例子。

示例

-module(helloworld). 
-export([while/1,while/2, start/0]). 

while(L) -> while(L,0). 
while([], Acc) -> Acc;
while([_|T], Acc) ->
   io:fwrite("~w~n",[Acc]), 
   while(T,Acc+1). 
   
   start() -> 
   X = [1,2,3,4], 
   while(X).
以下是上述程序需要說明的一些關(guān)鍵點 -
  • 定義一個名為 while 遞歸函數(shù)執(zhí)行 while 循環(huán);
  • 輸入列表的值在定義變量X到 while 功能作為一個實例;
  • while 功能同時會取到每個列表中的值并存儲中間值到變量“‘Acc’”;
  • while循環(huán)遞歸調(diào)用列表中的每個值;
上面的代碼的輸出結(jié)果是 -
0
1
2
3

for語句

由于在 Erlang 沒有直接可用的 for 語句,人們必須使用 Erlang 遞歸技術(shù)實現(xiàn) for 語句。
我們將實例一些代碼功能之后讓它能夠和其他編程語言一樣地執(zhí)行 for 循環(huán)。以下是 for 語句實現(xiàn)的流程:
for循環(huán)
讓我們來看看如何在 Erlang 使用遞歸來實現(xiàn) for 循環(huán)的例子。

示例

-module(helloworld). 
-export([for/2,start/0]). 

for(0,_) -> 
   []; 
   for(N,Term) when N > 0 -> 
   io:fwrite("Hello~n"), 
   [Term|for(N-1,Term)]. 
   
start() -> 
   for(5,1).
以下是上述程序需要說明的一些關(guān)鍵點 -
  • 我們定義一個遞歸函數(shù)來實例和執(zhí)行 for 循環(huán);
  • 我們使用的是 ‘for’ 函數(shù)以確保 N 或限制的值是正值;
  • 我們遞歸地調(diào)用 for 函數(shù),通過在每一次遞歸后減少N的值。
上面的代碼的輸出結(jié)果是 -
Hello
Hello
Hello
Hello
Hello