タグ付けされた質問 「reification」

1
Scala:TypeTagとは何ですか?どのように使用しますか?
TypeTagについて私が知っているのは、マニフェストを何らかの方法で置き換えたことだけです。インターネット上の情報は乏しく、主題についての良い感覚を私に提供しません。 ですから、例や人気のあるユースケースを含め、TypeTagsに関するいくつかの有用な資料へのリンクを誰かが共有してくれれば幸いです。詳細な回答や説明も大歓迎です。

4
具象化とは何ですか?
Javaは消去を伴うパラメトリックポリモーフィズム(ジェネリック)を実装することを知っています。消去とは何ですか。 C#は具体化を伴うパラメトリック多態性を実装していることを知っています。私はそれがあなたを書くことができることを知っています public void dosomething(List<String> input) {} public void dosomething(List<Int> input) {} または、いくつかのパラメーター化された型の型パラメーターが何であるかを実行時に知ることができますが、それが何であるかはわかりません。 具象化タイプとは何ですか? 具体化された値とは何ですか? タイプ/値が具体化されるとどうなりますか?
163 c#  generics  reification 

13
なぜJavaには具体化されたジェネリックがないことに気を付けるべきなのですか?
これは、候補者がJava言語に追加したいものとして、最近インタビューで尋ねた質問として浮上しました。Javaがジェネリックスを具体化していないことは、痛みとして一般的に認識されていますが、候補者がプッシュされたとき、候補者が実際に達成できたことを私に伝えることができませんでした。 当然、生の型はJava(および安全でないチェック)で許可されているため、ジェネリックを破壊しList<Integer>て(たとえば)実際にが含まれている可能性がありますString。タイプ情報を具体化すると、これは明らかに不可能になる可能性があります。しかし、これ以上のものがあるに違いありません! 人々が本当にやりたいことの例を投稿できますか?つまりList、実行時にaのタイプを取得できることは明らかですが、それを使用して何をしますか? public <T> void foo(List<T> l) { if (l.getGenericType() == Integer.class) { //yeah baby! err, what now? 編集:これに対する迅速な更新は、回答が主にClassパラメータとして渡される必要性に関係しているように思われるためです(たとえばEnumSet.noneOf(TimeUnit.class))。私はこれが不可能であるという線に沿って何かをもっと探していました。例えば: List<?> l1 = api.gimmeAList(); List<?> l2 = api.gimmeAnotherList(); if (l1.getGenericType().isAssignableFrom(l2.getGenericType())) { l1.addAll(l2); //why on earth would I be doing this anyway?

6
(機能的?)プログラミングの文脈で「具体化」と「具体化」はどういう意味ですか?
Haskellと関数型プログラミングに関するブログ(特にsigfpeのブログ)でこの用語をよく読んでいますが、それが何を意味するのかわかりません。私はほとんどの場合それを知らなくても大丈夫ですが、私が知っていれば、おそらくテキストをもっとよく理解していたでしょう。グーグルは私を助けませんでした。私は技術的なもので迷子になります。 また、世界の非技術的な意味(「抽象的対象を変える」)は、コードで何かを具体化することが実際に何を意味するのかを理解するのに役立ちません。 私はコンピュータサイエンスの概念が少し遅いので、コードを使った実用的な例がいいでしょう。:P
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.