ほかにもいろいろ書いているがとりあえず。
良く忘れるが、string interpolationはドル
$"string-text {expr}"
$"string-text %format-specifier{expr}"
$"""string-text {"embedded string literal"}"""
ソース: MSDN: Interpolated strings
シングルバイナリを作るのに、PublishReadyToRunでAOT出来るぜ、とSingle file application - .NET - Microsoft Docsに書いてあったので試してみたら、 サイズが36MBから60MBに膨らんでしまう。 60MBは嫌だなぁ、と思い、AOTしないことに。
前も試した気がするが、メモしておかないとまたやりそうなのでここにメモ。
良く使うのでメモしておく。
[Performance Profiling F# | codesuji](https://www.codesuji.com/2019/10/13/F-Performance-Profiling/) そのうち試したい。 |
アセンブリに入ってそうなdllってどうやって追加するの?と思ったが、nugetになっていて全部nuget経由で追加するものっぽい。
$ dotnet add package System.IO.Compression
$ dotnet add package System.IO.Compression.ZipFile
ZipEntryなどはFiles関連の便利メソッドが使えないので、たまにこの手の処理が必要になる。 終わりまでReadLineする、みたいなwhile的な処理はいまいち書きにくいが、一旦seqを作ってそれをfilterしたりすると簡潔に書ける。
use sr = ....
let lineSeq = seq { while true do yield sr.ReadLine() }
lineSeq
|> Seq.takeWhile (fun line -> line <> null)
|> Seq.toList // do read before sr close.