2011-08-21 18 views
5

D, essendo la lingua meno nota del gruppo, ha ben poco da fare nel modo di librerie. Sto cercando di scaricare un file, e il modo in cui posso vederlo farlo con DMD 2 e phobos è con etc.c.curl, ma ... Curl è molto difficile da usare. E dal momento che non riesco a trovare un buon esempio da nessuna parte. Come si scarica un file nel modo più semplice possibile usando eccc.curl?D esempi di ecc.ccl

risposta

6

Non conosco molto l'API eccc.curl, che è solo un collegamento alla libreria C Curl. Un wrapper in stile D molto più semplice da usare è attualmente in fase di revisione formale, e probabilmente troverà la sua strada in una delle prossime due versioni di Phobos/DMD. Se si vuole provare nel frattempo (con la consapevolezza che ci possono essere la rottura modifiche ad esso richiesto dal processo di revisione), vedi:

https://github.com/jcd/phobos/blob/curl-wrapper/etc/curl.d (Codice)

http://freeze.steamwinter.com/D/web/phobos/etc_curl.html (Documentazione)

Se non si desidera utilizzare un wrapper che è questo margine sanguinante, è anche possibile esaminare il codice per capire come ottenere ciò che si desidera ottenere utilizzando il binding c ecc. C.curl.

+0

Esiste già nel repository ufficiale di Phobos? – alexmherrmann

+0

Grazie, ho fatto una domanda simile, e gli stessi due link sono stati pubblicati! – alexmherrmann

+1

@alexhairyman: No, l'intero punto del processo di revisione è di migliorare il modulo e determinare se entra in Phobos. A proposito, la situazione della biblioteca in D dovrebbe migliorare rapidamente. Da quando D2 è diventato stabile, ci sono state tonnellate di sforzi comunitari per la creazione di librerie. Il processo di revisione per ciascun modulo Phobos richiede in genere 3-4 settimane e attualmente è in corso un arretrato di moduli in attesa di revisione. Questi includono il wrapper di Curl, la registrazione, il riflesso di runtime, un miglioramento del processo di std., l'aritmetica decimale, un parser CSV, allocatori di memoria e algoritmi paralleli. – dsimcha