2

私はF#を初めて使用しますが、冗長構文を使用してforループを別のループに配置すると、コンパイルされません。

#light "off"

let Multiple9x9 () = 
  for i in 1 .. 9 do
    printf "\n";
    for j in 1 .. 9 do
      let k = i * j;
      printf "%d x %d = %2d " i j k ;
    done;;
  done;;
Multiple9x9 ();;
printf "\n" ;;

#light"on"で動作することはわかっています。

let Multiple9x9 () = 
  for i in 1 .. 9 do
    printf "\n"
    for j in 1 .. 9 do
      let k = i * j
      printf "%d x %d = %2d " i j k
Multiple9x9 ()
printf "\n"
4

1 に答える 1

6

詳細な構文を使用する場合はin、各letバインディングの後に必要です。;;また、内側のループに afterは必要ありませんdone。外側のループが不完全になります (外側の が切り取られますdone)。

修正されたコードは次のとおりです。

let Multiple9x9 () = 
  for i in 1 .. 9 do
    printf "\n";
    for j in 1 .. 9 do
      let k = i * j in
      printf "%d x %d = %2d " i j k;
    done;
  done;;
Multiple9x9 ();;
printf "\n" ;;
于 2012-08-31T16:54:44.460 に答える