Drkcore

30 09 2011 Scala Tweet

Ninety-Nine Scala Problems (P32)

S-99を解く。GCD実装するだけ、楽勝とおもったらへんなとこではまった。

対話環境では動く

scala> def gcd(a:Int, b:Int): Int =  if (b == 0) a else gcd(b, a % b)
gcd: (a: Int, b: Int)Int

scala> gcd(36,63)
res0: Int = 9

でも、スクリプトにして呼ぶとvalue % is not a member of Intっていうエラー

$ scala p32.scala 
/Users/kzfm/scala/p32.scala:2: error: value % is not a member of Int
def gcd(a:Int, b:Int): Int =  if (b == 0) a else gcd(b, a % b)

/Users/kzfm/scala/p32.scala:4: error: type mismatch;
 found   : scala.Int(36)
 required: Int
println(gcd(36, 63))

scala.Intって何?ってことで型の定義を変更したら動いた

def gcd(a:scala.Int, b:scala.Int): scala.Int =  if (b == 0) a else gcd(b, a % b)

println(gcd(36, 63))

よくわからん。

ProductName Scalaスケーラブルプログラミング第2版
Martin Odersky
インプレスジャパン / 4830円 ( 2011-09-27 )


About

  • もう5年目(wishlistありマス♡)
  • 最近はPythonとDeepLearning
  • 日本酒自粛中
  • ドラムンベースからミニマルまで
  • ポケモンGOゆるめ

Tag

Python Deep Learning javascript chemoinformatics Emacs sake and more...

Ad

© kzfm 2003-2021