コミュ障だから明日が僕らをよんだって返事もろくにしなかった

何かを創る人に憧れたからブログをはじめたんだと思うよ

かけだしがやるすからー おーよー

僕はいまだに駈け出せてすらいないわけで…。

はい、おはようございます。ごみくずです。生きててすいません。今日も例のアレを進めていくことにします。どこまでいけるか分からないけどもキリのいいところまでは進めていきたいなーと思いつつどこかで躓くんですよね。だから駈け出すことすらできない僕です。カナシイネ。


まあいいや。というわけで今回はこれやったという感想文でも書きます。
f:id:andron:20200512011726p:plain


今回やったこと!

応用編はScalaっぽい(僕は専門家でないのでよく知らないのでいい加減なこと書いてます)感じの文法の確認になってきます。

・関数
・型パラメータ
・エラー処理(Option)
・エラー処理(Either)
・エラー処理(Try)
・コレクション
・リストの操作
・ストリーム操作
・パターンマッチで利用できるクラスを作る unapply
・型エイリアス type
XML リテラル
・型情報を扱うリフレクション
・コードの構文木を生成するマクロ

めっちゃ覚えることある―ー。

あ、あとテストも。テストをScalaの標準の文法に入れて良いのかよくわからなかったからとりあえず離しておく。
・テスト
 テスティングフレームワークScalaTest
 モックライブラリ:Mockito framework site
 コードカバレッジの測定:GitHub - scoverage/sbt-scoverage: sbt plugin for scoverage


んで、後半のほうではパーサーコンビネータつくるとかやるそうでこんなんできやっていくとのことです。
GitHub - Andou666/NnoParserCombinator-N: N予備校 Scala応用 学習用
前回みたいにビジュアルがないのであんまりあれだけど、極めると独自の小さなプログラミング言語が作れるようになれたり、独自のデータフォーマットを作れたりするものです。


とりあえず今回はやったのはそんな感じです。なんか駆け足気味でやってますがすからーいじるの楽しくなってきました。まあ、このレッスン終えたら忘れるんですけどねw。Scala使う機会がない………。


つづく


おまけ

ビジュアル的に乏しい回だったんでPlayFrameworkいじってみた感想とかも一緒にしようかと思います。
www.playframework.com

Play Framework(プレイ・フレームワーク)は、ScalaJava言語で書かれたオープンソースのWebアプリケーションフレームワークである。Model View Controller (MVC) アーキテクチャを採用しており、設定より規約やホットリローディング、エラーのブラウザ上への表示といった方針により、開発者の生産性を上げることを目的としている。

こんなやつ。

なんか知らんけど下のコマンド叩くだけで自動生成してくれるらしい。

sbt new playframework/play-scala-seed.g8

# Playを起動 
sbt run

んでな……。

[RuntimeException: java.lang.UnsupportedClassVersionError: controllers/routes has been compiled by a more recent version of the Java Runtime (class file version *), this version of the Java Runtime only recognizes class file versions up to *]

PlayFrameworkはじめて使ってみたんですが、古いJavaばんばん切り捨てる系のフレームワークなんね。適当なバージョンのJava使ってたら何度も上のエラー出してしまった。

f:id:andron:20200512012604p:plain
この画面出すのに何回OpenJDKのページを開いたことか……。みんなJavaのバージョン管理ってどうやってるんだ……。できればWindows系での対処方法が知りたい。

関連
OpenJDK