Klausimai pažymėti kaip „tipo išvada“

Tipo išvada yra procesas, pagal kurį automatiškai apibrėžiami programų tipai, naudojant taisykles, nustatytas tipų sistemoje.
2
atsakymai

Kodėl aš gaunu „AssertionError“, kai „Arrays.asList ()“ priskiriama tiesiai?

Bandau suprasti vietinio kintamojo tipo produkciją „Java 10“. Toliau pateiktas kodas puikiai veikia kompiliavimo metu ir vykdymo metu: sąrašų sąrašas1 = Arrays.asList (1L, 2.0F, "3"); var list2 = list1; Tačiau ši eilutė sukuria kompiliavimo klaidą: var ...
yra nustatytas kovo 29 d. 18, 17:38
4
atsakymai

Tipo išvada dėl grąžinimo metodo tipo

Kodėl Scala neišspausdina metodo grąžinimo tipo, kai metodas naudoja aiškią grąžinimo ataskaitą? Pavyzdžiui, kodėl sudaromas šis kodas? objektas Pagrindinis {def who = 5 def main (args: Array [String]) = println (kas)} Tačiau taip nėra. obj ...
nustatyti 05 vas '10, 20:48
1
atsakymas

Tipo apibrėžimo augimas SML, naudojant Hindley Milner tipo išvadą

Kažkada man parodė šiek tiek „apgauti“ SML, kur jie parašė apie 3 ar 4 funkcijas savo REPL, o gautas tipas paskutinei vertei buvo labai ilgas (kaip ir daugelis puslapių slinkimo). Ar kas nors žino, koks kodas generatorius yra ...
nustatytas vasario 27 d '14, 9:22
1
atsakymas

Kaip aš galiu suprasti „: t ((==) <*>)„ Haskell'e?

Aš esu naujas „Haskell“, turiu problemų su <*>: ((==) <*>) :: Eq a => (a -> a) -> a -> Bool Kaip tai suprasti ir kaip tai gauti ?
paklausė 15 rugsėjo. '13, 17:21
3
atsakymai

Kokia yra pradinė interpoliuojamos eilutės rūšis?

MSDN dokumentuose yra skyrius apie netiesiogines konversijas: var s = $ "hello, {name}"; System.IFormattable s = $ "Sveiki, {name}"; System.FormattableString s = $ "Sveiki, {name}"; Iš pirmos eilutės matyti, kad pradinė interpoliuojamos eilutės rūšis yra eilutė. Ho ...
nustatyti birželio 30 d
4
atsakymai

Ar yra C # "var" raktinio žodžio ekvivalentas C + + / CLI?

C #, man patinka var raktinis žodis tokioms situacijoms: var myList = new List <MyType> (); Ar yra koks nors ekvivalentas C + + / CLI, ar man reikia pakartoti tipo pavadinimą kiekvieną kartą: sąrašas <MyType ^> ^ myList = gcnew sąrašas <MyType ^> (); ...
nustatytas sausio 05 '10, 20:48
3
atsakymai

Tipo išvada neatlikta Nustatyta su .toSet?

Kodėl čia nėra tokio tipo išvada? scala> val xs = Sąrašas (1, 2, 3, 3) xs: sąrašas [vid.] = sąrašas (1, 2, 3, 3) scala> xs.toSet žemėlapis (_ * 2) <console>: 9: error : trūkstamas išplėstinės funkcijos parametro tipas ((x $ 1) => x $ 1. $ kartus (2)) xs.toSe ...
nustatytas balandžio 05 d '11 0:26
3
atsakymai

Kodėl 3 ir x (kurie buvo priskirti 3) turi skirtingus tariamus tipus Haskelle?

Haskell tipo išvada turi šiek tiek mokymosi kreivės (mažiausiai!). Geras būdas pradėti mokytis yra paprasti pavyzdžiai. Taigi, mažai „sveikas pasaulis“ tipo išvadoms. Apsvarstykite šį pavyzdį: Prelude>: t 3 3 :: (Num ...
nustatyti 14 d. '11 8:10
2
atsakymai

Tariamas tipas aptinka begalinę kilpą, bet kas iš tikrųjų vyksta?

Andrew Koenig ss, pokštas apie ML tipo išvadas, autorius naudoja susijungimo rūšiavimo įgyvendinimą kaip edukacinį pratimą ML ir mielai atranda „neteisingą“ tipo produkciją. Mano nuostabai, kompiliatorius pranešė apie tipą „sąrašas -> i ...
nustatyti 02 gruodis '09 3:49
2
atsakymai

„Java 7“ bendrojo tipo išvada: grąžinimo vertės ir metodo argumentas

Kodėl kompiliatorius sugeba tinkamai išreikšti „String“ tipo parametrą grąžinto tipo funkcijai public class Generics {privatus statinis sąrašas <String> funkcija () {return new ArrayList <> (); }}, bet jis nesugeba ...
nustatyti kovo 15 d. 13 val
3
atsakymai

Įveskite išvadą su klase, kuri įgyvendina kelias hierarchijos sąsajas

Pavyzdžiui, galite naudoti kažką panašaus į skaičiuoklę su įvairių tipų elementais, funkcijomis, vertinančiomis įvairių tipų elementus, ir elementų bei pradinių funkcijų saugojimo kontekstu. Sąsajos atrodo taip: viešoji sąsaja ...
nustatyti kovo 29 d. 13 val
1
atsakymas

Ar bendrojo tipo išvada neveikia su metodų grandine?

Tai nebus kompiliuota „Java 7“: klasės žemėlapis <K, V> {statinis <K, V> žemėlapis <K, V> tuščias () {return null;} Žemėlapis <K, V> įdėti (K k, V v) { grįžti null;} V gauti (Kk) {return null;} A klasė {statinis void f (Žemėlapis <Integer, String> ...
Nustatyta liepos 17 d. 14 val
3
atsakymai

„Lambda“ skambučio parašo arba savavališko raginimo „make_function“ rezultatas

Kai kuriose situacijose pageidautina, kad būtų galima ištrinti paleidimą (pvz., Funkciją, funkcijų žymeklį, objekto pavyzdį su operatoriumi (), lambda, mem_fn), pavyzdžiui, naudojant „Boost“ adapterius su C ++ 11 lambdas, kur norite būti priskirti ...
nustatyti 10 rug. '12 - 1:51
5
atsakymai

kodėl rašyti tipo skelbimus Haskelle?

Aš esu naujas Haskellui ir bandau išsiaiškinti, kodėl turiu rašyti tipo deklaracijas. Kadangi Haskell turi tipo išvadą, kai man reikia pirmosios eilutės? Atrodo, kad GHCI, kai aš naudoju, generuoja teisingą išvestį: „t“
birželio 06 d. 11 val
3
atsakymai

Universalaus tipo C # tipo argumentas, nenaudojamas

Neseniai eksperimentavau su lankytojo modelio įgyvendinimu, kur bandžiau taikyti „Accept Visit“ metodus, naudojant bendras sąsajas: viešąja sąsaja IVisitable <out TVisitable>, kai TVisitable: IVisitable <TVisitable> {TRes ...
rugpjūčio 17 d. 18 m