New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add scala #5

Merged
merged 6 commits into from Jun 10, 2018

Conversation

Projects
None yet
2 participants
@Goryudyuma
Collaborator

Goryudyuma commented Jun 10, 2018

Scalaで書きました!
実装はRubyを参考に、フロントはGoのテンプレートを参考にScala用に書き直しました。

メモ:
Workloadが1と2のときは正の点数が(ギリギリ)出ますが、3以上にするとエラーが増え、負の点数になってしまいます・・・。
実装上のミスではなく、ただこの実装が遅すぎるだけだと思いますが・・・。
Rubyによる初期実装に寄せるためにScalaの流儀じゃなさそうなことを何箇所かやってるせいだと思います。(例外によるhaltなど)

感想:
Rubyの普通の変数が、Scalaで言うOption型とかになっちゃったりするところとか、なかなか辛かったです。
マージされればまたブログ書きます✌

@showwin

This comment has been minimized.

Owner

showwin commented Jun 10, 2018

Scala実装の追加ありがとうございます!!😆
ざっと確認しましたが、問題なさそうです。LGTM 👍
READMEの変更もありがとうございます !

Workloadが1と2のときは正の点数が(ギリギリ)出ますが、3以上にするとエラーが増え、負の点数になってしまいます・・・。

お〜、Scalaの方が点数出そうなのに意外ですね。

Rubyによる初期実装に寄せるためにScalaの流儀じゃなさそうなことを何箇所かやってるせいだと思います。(例外によるhaltなど)
Rubyの普通の変数が、Scalaで言うOption型とかになっちゃったりするところとか、なかなか辛かったです。

参考実装のRubyとGoもかなり差があるし、Rubyに寄せなくてもScalaっぽく書いてもらっても良いですよ。
Rubyっぽく書いている部分が初期スコアに影響しているのであれば、また修正PR出してもらえると嬉しいです!
(ぼくも時間見つけてやってみますが)

@showwin showwin merged commit ceaab93 into showwin:master Jun 10, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment