lo.IfをJavaScriptの三項演算子みたいに使おうとしたらハマった

Go言語にはGenericsが実装されて以降に作られた samber/lo というライブラリがある。 これはLodashぽく使えるライブラリで、Go言語のGenericsを使っている。 このライブラリを使っていて、lo.IfをJavaScriptの三項演算子みたいに使おうとしたらハマったのでメモ。 lo.If は以下のように使うことができる。 result := lo.If(true, 1). ElseIf(false, 2). Else(3) // 1 result := lo.If(false, 1). ElseIf(true, 2). Else(3) // 2 result := lo.If(false, 1). ElseIf(false, 2). Else(3) 定義としては func If[T any](condition bool, result T) *ifElse[T] となっている。 第一引数に真偽値、第二引数に結果を渡すと、ifのように使える。 なので次のように使うと三項演算子みたいに使えて1行で書け便利そうと思っていた。 package main import ( "fmt" "github.com/samber/lo" ) func main() { var in *int fmt.Println(lo.If(in == nil, *in).Else(0)) } 実装内容としては、inがnilの場合は0を返し、それ以外の場合は*inを返すというもの。 この実装はinがnilの場合にpanicを起こす。 inの内容はnilだろうがそうじゃなかろうが必ず評価されるからである。 まぁ、よく見たら当然といえば当然である。...

1月 9, 2025

ドット絵変換ライブラリ作った

ことのあらまし 年末の休みにTwitterを眺めていたらNPOSさんの投稿が流れてきて面白そうだったのでGo言語でもやってみた。 このドット絵化いいかも!やってみよ!https://t.co/i13rxatG6Q — 𝙉𝙋𝙊𝙎 (@npostring) December 30, 2024 作ったもの ndcd-go install go install github.com/ieee0824/ndcd-go/ndcd 使い方 大本の論文ではドットの大きさを指定するようになっているが、このライブラリでは生成する画像の縦の大きさを指定するようになっている。 もしかしたら大本の実装と同じようにするかもしれない。 実行例 ndcd -i 入力ファイル -o 出力ファイル -oh 64 -bt box -bs 10 -c 1 -g 0.8 -s -oe 512 生成例 コマンドオプション -b 明るさの補正パラメーター 指定すると処理する前に画像の明るさ調整が入ります -bs ぼかし処理のパラメーター 指定すると処理する前に画像のぼかし処理が入ります jpegなどのノイズをある程度ごまかせます -bt ぼかしの種類を指定します gaussianかboxが指定できます デフォルトは gaussian です -c コントラストの補正パラメーター 指定すると処理する前に画像のコントラスト調整が入ります -cq 色数の量子化パラメーター 指定すると処理する前に画像の色数を減らします -g ガンマ補正パラメーター...

1月 3, 2025

冬山シーズン始まりました

12月の8日に剣山へ行ってきました。 今シーズン最初の冬山です。 国道438号線の凍結でスリップして右側のフロントをガードレールに接触させてしまいライトが破損しましたが、冬っぽい気候を感じられたので概ねいい登山でした。 ヘッドライトは新品が片方5万くらいだったので両方交換してことなきを得ました。 片方だけだと色が違って見た目悪いですし。 ニコ動: 12月の剣山でリアル登山アタック

12月 14, 2024

二トムズのキネシオロジーテープがいいかんじ

二トムズの キネシオロジーテープ がいい感じです。 31.5mのやつでだいたい1mあたり150円くらいです。 もともと New-HALEテーピングテープ を使ってたんですけど1mあたり200円でちょっと高価だなぁって思ってました。 肌のやさしさでいうとNew-HALEの方が優しく感じますが2, 3時間くらいなら二トムズでも自分の場合特に問題ないです。 あと二トムズの方が汗に強い印象を受けます。 大量に汗をかいても結構安定してくっついてます。 これから乾燥して肌が荒れやすいシーズンになればわからないですが今のところは結構おすすめできるテープです。

11月 1, 2024

選挙行ってきました

選挙行ってきました. とりあえず30代の投票率を上げるのに貢献してきました. テレビでは若い人の投票率が低いとか言われていますが、選挙行かないとダサいみたいな空気感になるといいなと思います.

10月 27, 2024

猟期が近づいてきました

猟期が近くなってきました。 山で罠の埋設の練習をしてきました。 罠講習で罠埋設した pic.twitter.com/AcO41Ggo4Q — 虚無 (@ast839) October 26, 2024

10月 26, 2024

名頃から剣山に縦走しようとしました

先日10月22日火曜日に名頃から剣山に縦走する計画で山に行ってきました。 結果としては三嶺まで登ったものの天気が悪かったので撤退しました。 風強かったですしね。

10月 24, 2024

テトの日2024年

10月10日はテトの日です。 それに伴い 重音テト POP UP SHOP が開催されます。 なので飛行機で東京に移動です。 まずはかけつけいっぱいのビールです。 整理券配布まで結構時間に余裕があったので港区を横切りながら秋葉原まで徒歩移動しました。 皇居の横を歩いているといつまで経っても横に皇居があり皇居の大きさがよくわかりました。 そうこうしてると約束の地秋葉原に到着です。 無事整理券の時間に間に合い整理券の入手に成功しました。 結構行列が長くてテト親の方々沢山いて感動を超えて困惑しました。 4番目のブロックで時間があったので昼を食べにサンボに向かいました。 oh… 気を取り直してたまごけんに行ったのですが数年間の間にシムテムが変わっててちょっと戸惑いました。...

10月 11, 2024

秋の気配を感じた

今朝は10kmほど走りました。 気温は15度くらいで走るのにちょうどよかったです。 どこからともなく金木犀の香りが漂ってきて酷暑がやっと終わったんだなぁと実感しました。 明日10/10はテトの日なので東京へ行ってきます。

10月 9, 2024

筋トレの日

今日は雨なのでランニングができないので筋トレの日です。 懸垂 20 x 3 15 x 3 12 x 3 スクワット 500 そういや先日FDJ2を観戦に行った岡山国際サーキットを走るマラソン大会見つけたから参加しようかなぁ。

10月 8, 2024