資産管理電卓v0.17.27.0 追加機能説明1 [資産管理電卓(LineCalc)]
資産管理電卓v0.17.27.0の追加機能についての詳細です。
・bindresでの再バインド時のリソース削除対応。
bindres でバインド済みの変数を再バインドした場合は今まではそれまでバインドされていたリソースは削除されませんでした。
しかし、それではループの中でバインドする変数を同じにしている場合、毎回自分でリソースの削除を行わないといけないことになっていました。
今回事前にバインドされていたリソースを削除するようにしたので明示的にリソースを削除する必要が無くなりました。
bindres していたリソースを事前に明示的に削除していた場合もエラーにはならないのでそのまま
動作しますので上記のソースは互換性が保たれます。
別な変数にリソースを設定して使いまわしていた場合などは非互換性が発生すると思います。
・変数定義の若干の高速化
変数代入のソースの無駄を省いて若干高層化を行いました。
資産管理電卓v0.17.27.0追加機能説明はこれで終わりです。
・bindresでの再バインド時のリソース削除対応。
bindres でバインド済みの変数を再バインドした場合は今まではそれまでバインドされていたリソースは削除されませんでした。
( bindres(ctx,context), bindres(ctx,context) /* 事前にバインドされていたリソースは削除されなかった */ )
しかし、それではループの中でバインドする変数を同じにしている場合、毎回自分でリソースの削除を行わないといけないことになっていました。
( def(newCTest,@' ( ctx = context, ctx.foo = 123 , def(ctx.yaa,"this.foo*3"), ctx ) '), for(cnt , 1 , 100 , 1 , ( bindres(tes,newCTest), lprint(tes.yaa), delres(tes) /* 自前でリソースの削除が必要だった */ ) ) )
今回事前にバインドされていたリソースを削除するようにしたので明示的にリソースを削除する必要が無くなりました。
( def(newCTest,@' ( ctx = context, ctx.foo = 123 , def(ctx.yaa,"this.foo*3"), ctx ) '), for(cnt , 1 , 100 , 1 , ( bindres(tes,newCTest), /* 事前にバインドされていたリソースは削除される */ lprint(tes.yaa) ) ) )
bindres していたリソースを事前に明示的に削除していた場合もエラーにはならないのでそのまま
動作しますので上記のソースは互換性が保たれます。
別な変数にリソースを設定して使いまわしていた場合などは非互換性が発生すると思います。
・変数定義の若干の高速化
変数代入のソースの無駄を省いて若干高層化を行いました。
資産管理電卓v0.17.27.0追加機能説明はこれで終わりです。
コメント 0