Home About
Kotlin multiplatform 2.0.0 Kotlin/JS, webpack で sayHello するライブラリをつくるところまで

ちょっと前に Kotlin multiplatform 1.9.22 Kotlin/JS Hello, World! を書いたのですが、2.0.0 が出たのでやりなおしです。

このあたりの https://kotlinlang.org/docs/js-project-setup.html 話です。

» Read More
木構造(Tree)の各要素に対してマップしたい Kotlin

リストの各要素に対してマップするというのは簡単。 これと同じことを 木構造 に対して行うにはどうすればいいのか?

» Read More
マークアップテキストのパース、ネストしたブロッククオートに対処(改善版)

前回のエントリー の改善版です。 Tree クラスが本来不要な情報を保持できるように定義していたことで、 コード全体が冗長になっていました。 そこを改善します。

» Read More
マークアップテキストのパース、ネストしたブロッククオートに対処

前回(マークアップテキストのパース、ブロッククオート領域をハンドルする) のエントリーで BlockQuote 領域が入れ子(ネスト)になっていても再帰処理すれば対処できるだろう、などと書いていたので、 それを試した。

» Read More
マークアップテキストのパース、ブロッククオート領域をハンドルする

マークダウン書式でいえば行頭を "> " からはじめた行は BlockQuote として扱われる。 このような領域を含んだテキストをパースして(たとえば)HTMLに変換したい場合どうすればいいか、ということを考えた。

blockquote.svg

このようなテキストをパースする場合、一度で変換をすませようとすると難しい。 また、BlockQuote 領域の中にさらに BlockQuote 領域が存在するような場合もありえる。 そのようなことまで想定すれば、一度のパースで変換を完了させるという発想は筋が悪いだろう。

» Read More
MS Excel でUTF-8 文字コードの CSVファイルを開く 文字化け回避 / SUBSTITUTE 増殖問題

それを回避するにはCSVファイルの先頭に BOM をつけるだけです。

解決方法はこれ: https://stackoverflow.com/questions/60873673/how-to-add-a-utf-8-bom-in-kotlin

» Read More
Kotlin Native で XML をパースする (XmlUtil を使用)

JavaVM で XML を扱う場合に XmlPullParser を使う例を このエントリーXmlPullParser を使ってXMLをパースする で書きました。 今度はこれと同じような処理を Kotlin Native でやってみたので備忘録としてそれを書き残します。 XmlPullParser の代りに XmlUtilを使います。

そういえば、XmlUtil を使った例は以前のエントリー Kotlin Native (linuxX64) で XML を扱うで書きました。ここではシリアライゼーションしないで、 直接 XML をパースします。

» Read More
XmlPullParser を使ってXMLをパースする

Android の場合、標準で XmlPullParser が使えるようになっている。 これを Kotlin Script で使用したい。

XmlPullParser の実装があったので、とりあえずこれを使ってみる。 https://mvnrepository.com/artifact/net.sf.kxml/kxml2/2.3.0

» Read More
Kotlin Script で Serialization JSON を使う

Kotlin の Serialization の JSON を Kotlin Script で使う方法を調べた。

注意点としては、 スクリプト実行時に -Xplugin オプションを追加する必要がある。

see also: https://stackoverflow.com/questions/68202117/how-do-i-apply-a-plugin-in-a-kts-kotlin-script-file

» Read More
Kotlin Native (linuxX64) で XML を扱う

Kotlin Native (Kotlin Multiplatform) で XMLを扱うにはどうすればよいか調べた。 XmlUtilを使えばよいらしい。 Gradle を使って、XmlUtil でXMLをシリアライズ&デシリアライズするところまでできた。 その備忘録です。

» Read More
Groovy でテキストファイルを読み書きするのと同じ方法を Kotlin Script でも使いたい

Groovy の場合は new File("foo.txt").text のようなお作法で気軽にテキストファイルを読み書きできる。 Kotlin Script でもこのように手軽にテキストファイルの読み書きができないか調べた。 拡張プロパティ Extension Properties という機能を使えば普通にできた。

» Read More
木構造の再帰による深さ優先検索

木構造の再帰を使った巡回 という エントリーのコードの改良版です。

なぜか最近たびたび木構造を扱うことがあったので、その辺を整理を含めた覚え書きです。

» Read More