Core:add などを可変長引数化する
いくつかの関数を可変長引数化したいと考えています。
- [ ]
Core:add,Core:mul: 総和・総乗を求める - [ ]
Core:and,Core:or: 全てtrueならtrue / 一つでもtrueならtrue - [ ]
Core:eq: 全ての引数が等しいか判定する - [ ]
Core:neq: 全ての引数が異なるか判定する(重くなりそう、要検討) - [ ]
Core:gt,Core:lt,Core:gteq,Core:lteq: 隣接する二引数がそれぞれ条件を満たしているか返す 例:Core:gt(a, b, c)はa > b > cが成立していればtrue
可変長引数あんまり好きじゃないから配列を受け取ることで実現したい
@syuilo 引数が2つなら今までの挙動、1つなら配列として見るという感じですかね? スプレッド構文を作ればどちらでも大差なくなりそうですが、その場合でも配列受け取りがいいですか?
- 引数が2つなら今までの挙動、1つなら配列として見る
でも良いけど、型定義を考えると別名の関数を実装した方が良いかも
@syuilo Core:add_arr([1, 2, 3])みたいな感じですか?
そうね
四則演算の関数群、パフォーマンスあまり良くないので命令化したいって話があったと思います。 なので、いじらなくて良いんじゃないでしょうか
@marihachi 命令化ってどういうことですか?
ノードタイプをfnではなく、専用で用意してインタプリタでそのノードタイプについての処理を書くという形です 四則演算などは主に関数呼び出しに変換されるので
Add関数などはいずれ廃止される気がします。
そんな話があったんですか… まあその場合でも、
@syuilo
Core:add_arr([1, 2, 3])みたいな感じですか?
これみたいな新関数の追加はやりたいです
ノードタイプをfnではなく、専用で用意してインタプリタでそのノードタイプについての処理を書くという形です 四則演算などは主に関数呼び出しに変換されるので
@syuilo 前にこのつもりしてなかったっけ?
ノードタイプをfnではなく、専用で用意してインタプリタでそのノードタイプについての処理を書くという形です 四則演算などは主に関数呼び出しに変換されるので
とりあえずissue化しておきましょうか