- 241 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 01:55:33.57 ID:W8ZZnspt.net]
- >>235
UFCSのあるNim言語をよく使っているけど特に問題無く使えてるよ。 ライブラリAで定義された型を第一引数に持つ関数をライブラリAの外で定義してもgenerics/template/macroなど使わない限りライブラリAから呼び出せないし、ライブラリA内で使われている関数を外から勝手に上書きできない。 メソッド呼び出ししているように見えてもライブラリA内のプライベートな変数/関数はライブラリの外からアクセスできない。 method call syntaxってa.fooMethod(b)って書いてあるのを コンパイラがfooMethod(a, b)という関数呼び出しとして解釈しているだけでなんのリスクもないよ。 第一引数にFoo型のオブジェクトをとる関数を定義してもオーバーロードがあるのでFoo型を使わない人には何の影響も与えない
|

|