salano_ym

Results 38 comments of salano_ym

普通の`1 + "a"`みたいな式でも`Error`を返すということ? だとしたら強制終了が遅延されるのはかえって分かりにくいような気もするかも?

> > 「null以外の何かを返す」が目的ならエラーチェックしないのはnull参照と同じで自己責任だと思う > > ごめんなさい、これよく分かってないです。解説希望です `Json:parse`で失敗した返値が`Error(e)`だったとしてこれを特別に扱う必要は無いと思う

復帰可能(`Json:parse`)ならError、できない(`1+'a'`)なら強制終了で区別した方がいいと思う。詳しくないけどGoがそんな感じらしいので。 `err+1`みたいになってエラーが出るのはチェックしなかったことが問題なので普通の型エラー。 Error型を組み込みで入れるのは良いと思う。

現状の使い方からするとメッセージ付きの`null`や`-1`みたいな感じなので専用構文を挟まないとエラー処理できないのは分かりにくい気がします。 挟ませるとしてどの時点で停止扱いになってどの時点までに挟む必要がありますか?

`arr.splice`のように関数でいいと思います

一応jsの`splice`関数1つで相当のことができると思いますが分けますか?

残すと問題ありますか?

廃止するならチェックに`if Core:type(v)!='error' ...`と書くのは少しくどいのでエラー用の構文/演算子/関数等あると便利だと思います。

投げてないものをcatchするのは少し変な気がします。 成功と失敗で別々に処理できる方がいいのと成功時が先に来る方が分かりやすいかと`if Core:is_ok(v) {} else {}` `??`、`?.`等もあると良い? ついでに標準ライブラリ等でnullを返している所を全部`error`にしてしまうのもいいかもしれません

大雑把に考えると値の存在を期待しているかどうかで分けられると思います。 `Json:parse`が返す`null`は正常値なので`Result`型で言うところの`Ok(null)`と`Error()`のような。 ``` let a = {v: 1}