このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1292333005/726
#  基本的な質問ですが 
#  switch(a){  
#   case 0: b=0; break; 
#   case 1: b=0; break; 
#   case 2: b=5; break; 
#  ・・・ 
#  } 
#  return b; 
#  ↓ 
#  var b[3]={ 0, 0, 5 ・・・}; 
#  return b[a]; 
#   
#  上2つは返す値でいえば同じだと思います 
#  速度とかメモリ関連では違うと思いますけど・・・ 
#  下のも同じようにまたは別の形で簡潔にできる方法はありませんか? 
#  言語はそこそこメジャーなものならなんでもいいです 
#   
#  if(a < 0){ 
#   b=0; 
#  }else if(a < 1){ 
#   b=0; 
#  }else if(a < 2){ 
#   b=5; 
#  ・・・ 
#  } 
#  ↓ 
#  ・・・ 
#  至らない点あればすみません 
# 

return(_a,_,0) :- _a < 0,!.
return(_a,L,N) :-
        _b is truncate(_a + 2),
        list_nth(_b,L,N).