Android の場合、標準で XmlPullParser が使えるようになっている。 これを Kotlin Script で使用したい。
XmlPullParser の実装があったので、とりあえずこれを使ってみる。 https://mvnrepository.com/artifact/net.sf.kxml/kxml2/2.3.0
» Read MoreKotlin の Serialization の JSON を Kotlin Script で使う方法を調べた。
注意点としては、 スクリプト実行時に -Xplugin オプションを追加する必要がある。
» Read Moresee also: https://stackoverflow.com/questions/68202117/how-do-i-apply-a-plugin-in-a-kts-kotlin-script-file
Kotlin Native (Kotlin Multiplatform) で XMLを扱うにはどうすればよいか調べた。 XmlUtilを使えばよいらしい。 Gradle を使って、XmlUtil でXMLをシリアライズ&デシリアライズするところまでできた。 その備忘録です。
» Read MoreGroovy の場合は new File("foo.txt").text のようなお作法で気軽にテキストファイルを読み書きできる。 Kotlin Script でもこのように手軽にテキストファイルの読み書きができないか調べた。 拡張プロパティ Extension Properties という機能を使えば普通にできた。
» Read More以前のエントリー 改善版) kotlin でパーサーコンビネータを実装する の続きです。
そもそもの動機としては、 マークアップがネストしていたときにパーサーコンビネータを使ってパースするにはどうすればいいのだろうか? とか考えはじめた結果の覚え書きです。
パーサーコンビネータ部分の説明は省きます。(以前のエントリーを必要なら参照のこと)
» Read MoreEPUB の toc.ncx ファイルで naviPoint の playOrder 属性を指定する必要がある。 プログラム的にこれを設定する方法を実装したので、覚え書きとして書き残します。
» Read More久しぶりに Kotlin/JS に取り組もうと 過去のエントリー やりなおし Kotlin/JS Hello, World! 生成した js を HTML から使う / Node.js から使う などを見たが、すっかり状況が変わっていて動かない。
Kotlin のコードを(ただし Hello, World!標準出力するだけ)Node.js で動くようにビルドする方法を書き留めます。
おそらくは、このあたりを丁寧に読んでいけば済む話なのではないかと思う。 https://kotlinlang.org/docs/js-project-setup.html
» Read Moreときどき Haskell のように気軽に部分適用したくなることがある。 例のための例になるが、ARGB のカラーを生成する場合を考えてみる。
» Read MoreSealed クラスの使い途をネットで調べると色の RGB と CMYK の例などが出ていてなるほど と思っていたが、今つくっているアプリで、エディタのコマンドごとに処理を分岐させる部分で Sealed クラスを使うとわかりやすくコードを表現できたので、それを書き残す。
» Read More以前にもこのリストのサブリストをつくる件は書いた。 いまつくっているアプリでちょうどリスト分割する機会があったので書き残す。
» Read Moreときに、 巨大になる可能性のある文字列とか画像(バイナリデータ)を返したいなどの理由により、 関数が返す値として InputStream を使いたくなることがある。
そんなときは PipedInputStream と PipedOutputStream を使えば解決できるのだが、 そのとき PipedInputStream を読む処理と PipedOutputStream を書く処理は 別々のスレッドでなければいけない、という制約がある。
Javaなら普通に Thread をつくって対処してもよいのであろうが、 Kotlinには Coroutines があるので、それを使って解決する方法を調べた。
» Read More