1

次のコード スニペットは、ocsigen ソースからのものです。2 つの引数で呼び出される "int_of_string" を理解できません。

 try
    let dppos = String.index ss':'
        and len = String.length ss in                     
        let host = String.sub ss 0 dppos                  
        and port =                                        
            match String.sub ss (dppos+1) ((len - dppos) - 1) with
                "*" -> None
                | p -> Some (int_of_string "host" p)
             in host, port                                                           
  with                                                
      | Not_found -> ss, None
      | Failure _ ->                                    
          raise (Config_file_error "bad port number")

トップレベルでテストすると、通常どおりエラーが報告されます。

心から!

4

1 に答える 1

5

そのファイルの上部にある注意:

let blah_of_string f tag s =
  try
    f (String.remove_spaces s 0 ((String.length s) -1))
  with Failure _ -> raise (Ocsigen_config.Config_file_error
                             ("While parsing <"^tag^"> - "^s^
                                " is not a valid value."))

let int_of_string = blah_of_string int_of_string
let float_of_string = blah_of_string float_of_string

つまり、まったくありませんPervasives.int_of_string

于 2012-07-24T06:02:25.080 に答える