の呟きは 26
Wordle 367 5/6*
⬜🟨⬜🟨⬜
⬜🟩🟩⬜⬜
⬜🟩🟩🟩🟩
⬜🟩🟩🟩🟩
🟩🟩🟩🟩🟩イベントクエストの基本職Lv30推奨のやつ
モンスターのラインナップがメタスラ中級とは少し違うのか・・・(omitted)
(omitted)
(omitted)
こころドロップ率
まぁまぁかな・・・渋くはないのかもしれない
- (UPD ) #
inwardly://docs/github/misc/dqwalkhearts.html?expose=1
データバックアップ
https://gist.github.com/neetsdkasu/51c1705c9fef27ea4724c292efbe3d1dコミット履歴の価値がない・・・
暑いせいなのか
やる気激減https://pkg.go.dev/github.com/neetsdkasu/avltree#DeleteRangeIterate
InsertとDeleteのドキュメント上の配置が異なるのなんでだろう・・・?
InsertはTreeに属してるのに
Deleteはそうなってない分かった
戻り値の型だ戻り値の型で分離されてる
FindやMaxがNode下に配置されてるしInsertは(Tree,bool)という構造で、これはTreeに属する書き方ぽい
Deleteは(Tree,KeyAndValue)という構造で、戻り値のどっちが本質か分かりづらいから未分類配置なのだと思う
- (UPD ) #
go言語の標準ライブラリのlogパッケージのPanic
普通のpanicと違うことに気が付かなかったのでホゲ- (UPD ) #
builtinのpanicは単一の値をその型のまま飛ばすが
log.Panicは引数の文字列を文字列として飛ばす・・・
err := errors.New("hoge")
panic(err)
はエラーを飛ばす
recover()でerrorのエラーを取得できる
value := int32(10)
panic(value)
はint32型の10を飛ばす
recover()でint32(10)を取得できる
一方
err := errors.New("hoge")
log.Panic(err)
はfmt.Sprint(err)した文字列を飛ばす
recover()ではその文字列を取得する・・・
value := int32(10)
log.Panic(value)
はfmt.Sprint(value)した文字列を飛ばす
recover()ではその文字列を取得する・・・なる、ほど・・・
func handle(err *error) {
if e := recover(); e != nil {
if ee, ok := e.(error); ok {
*err = ee
} else {
panic(e)
}
}
}
func doit(value any) (err error) {
defer handle(&err)
panic(value)
}
func main() {
err := doit(fmt.Errorf("ERROR!"))
if err != nil {
fmt.Println("GetERROR! ", err)
}
err = doit("HOGEHOGE")
if err != nil {
fmt.Println("GetERROR! ", err)
}
}
- (UPD ) #
一般的に
Go言語の標準ライブラリのlogパッケージを使う奴はいない
呪われしゼシカがSこころドロップした・・・