Kiva-Teachpack
文件大小: unknow
源码售价: 5 个金币 积分规则     积分充值
资源说明:Kiva Teachpack for DrRacket
 Teachpack for accessing Kiva data through its XML API
 (A complete rewrite of a teachpack written by Shriram Krishnamurthi & Kathi Fisler)
 Nadeem Abdul Hamid
 v1.2: October 2010: bug fix, doc updates, kiva-data->structs
       (thank you, Stephen Bloch & Shriram Krishnamurthi)
 v1: November 2009

 Documentation for users ;;;;;;;;;;;;;;;;;;;;;;;;

 The teachpack primarily exports 3 functions and one constant:

 (get-kiva-page number) produces a list of numbers, symbols, and
    strings corresponding to the data on the given page number of 
    the kiva website.  Website entries may be omitted if their XML
    was formatted differently from our expectations.

 (get-kiva-page) produces a list of numbers, symbols, and strings
    corresponding to the data on the first page of the kiva website.
    Website entries may be omitted if their XML was formatted
    differently from our expectations.

  (total-kiva-pages) produces the total number of pages of loan 
    information available on the Kiva web site. Please, do not 
    attempt to retrieve more than 5 pages of information at a time
    in your program -- it can put undue load on the campus network 
    and on the Kiva website. (See point #6 on the Kiva API Code 
    of Conduct page: http://build.kiva.org/docs/code_of_conduct ).

  sample-kiva-data is a constant of data in the format coming from the
    website that students can use to test their functions before
    connecting to the actual website.

 Information about an individual loan is represented as a tuple:
  (list Number Number String Symbol Number Number Number String Symbol String String Number)
 interpreted as:
  (id name size status loan_amt funded_amt paid_amt activity sector use country date)


 Because these long rows may be difficult to use, an additional function
   is provided that allows mapping a list of rows of Kiva data to a 
   list of client-defined structures. For instance, suppose you really just
   want to work with a list of structures that keep track of a few fields,
   defined as:
     (define-struct loan (borrower amount year))
   Then, use the (kiva-data->structs ...) function as illustrated in this
   example:
 
     (kiva-data->structs      
      sample-kiva-data        ;; this is the list of rows of data, could be (get-kiva-page)
      make-loan               ;; your structure's constructor 
      (name loan_amt date)    ;; the fields you want to extract from each kiva data row
                              ;;  in the order that their values should be supplied
                              ;;  to your structure's constructor
     )

 If you want to trim the data in the rows, but not introduce a structure, use
   the (kiva-data/select ...) function which works in a similar manner to
   kiva-data->structs, but doesn't take a constructor parameter and
   produces a list of rows (lists) with only values for the specified fields, 
   for example:

     (kiva-data/select
      sample-kiva-data
      (name loan_amt date))



本源码包内暂不包含可直接显示的源代码文件,请下载源码包。