純関数が純粋に返されることは、どういう意味ですか?純粋な関数が純粋な意味を返すのは何ですか?
pure int doubleMe(in int i) pure { return i * 2; }
コードがredundant storage class pure
を与えることなくコンパイルので、私は、これはバグではありませんと仮定しますか?
// DMD2.056
純関数が純粋に返されることは、どういう意味ですか?純粋な関数が純粋な意味を返すのは何ですか?
pure int doubleMe(in int i) pure { return i * 2; }
コードがredundant storage class pure
を与えることなくコンパイルので、私は、これはバグではありませんと仮定しますか?
// DMD2.056
純粋な機能属性です。関数の属性は、戻り値の型の前、またはパラメータリストの後に置くことができます。どちらの場合でも、戻り値の型ではなく関数を記述します。したがって、「純粋に戻る」というようなことはありません。
エラーが発生するはずです。おそらくバグです。 @safeのように、同じことが他の属性でも無視されます。
あなたはそれをバグ報告したいですか? – Arlen
'pure'はストレージクラスではないので、' redundant storage class pure'はとにかく与えられません。しかしそれでも、おそらくエラーを報告するはずです。 –
これはストレージクラスとして解析されますが、次のようになります。http://www.d-programming-language.org/declaration.html#StorageClass –
pure int
はおそらく無視する必要があります。しかし、私はそれがある理由は、関数が "純関数"を返す可能性があると考えています。その場合、バグかどうかは議論の余地があると思います。
戻り値の型の前に 'pure'を置くと常に関数を参照します。これは、ストレージクラスやその他の関数属性と同じです。 –
純粋な関数を返す関数について書いていました... – DejanLekic
[タグ:pure]タグをクリーンアップしようとしました。時には純粋な仮想関数を参照することもあります。時には[pure](http://beebole.com/pure/) ](http://en.wikipedia.org/wiki/Pure_(プログラミング言語)) - その他しかし、私は[タグ:d]について何も知らない。私のタグ編集が適切かどうか確認できますか?このタグは[タグ:pure-function]を作成しました。[tag:pure-function]を作成したので、既存のタグを使用する方が良いと思います。 –
@RichardJPLeGuen [機能的純度](http://en.wikipedia.org/wiki/Pure_function)のように純粋なので、純粋な関数がこの質問のために機能します。純粋に機能的ではありません。 – Arlen