aiscript icon indicating copy to clipboard operation
aiscript copied to clipboard

nullとerrorの使い分けを考える

Open FineArchs opened this issue 2 years ago • 2 comments

https://github.com/syuilo/aiscript/issues/396#issuecomment-1756845571

大雑把に考えると値の存在を期待しているかどうかで分けられると思います。

これについてもう少し詳しく考えたいです。

FineArchs avatar Oct 11 '23 08:10 FineArchs

https://github.com/syuilo/aiscript/issues/282#issuecomment-1620632461 でも言及されているように正常値としてのnullと区別できる必要があるかが基準の一つになると思います。 失敗値としては基本errorの方が意味が明確。 あえてnullが返るとするとa.find(v)というよりもa.findOrDefault(v, null)のようなニュアンスに感じます。

それと失敗値以外にもvoidの意味でのnullの使われ方もあるのでこれはどうするか。

salano-ym avatar Oct 11 '23 10:10 salano-ym

a.find(v)に関しては、「無かった」という意味でnullを返す解釈と「探索に失敗した」という意味でerrorを返す解釈の両方が成り立つと思うんですよね…

voidの意味のnullはとりあえずそのままでいいと思います。

FineArchs avatar Oct 11 '23 11:10 FineArchs