Function 获取必须返回Clojure中两个城市之间距离的函数的nullpointer异常错误

Function 获取必须返回Clojure中两个城市之间距离的函数的nullpointer异常错误,function,csv,clojure,nullpointerexception,distance,Function,Csv,Clojure,Nullpointerexception,Distance,record1和record2是城市及其属性的csv文件中的行 函数latReturn和longReturn分别从这些行返回lat和long。当我调用距离函数时,虽然我得到一个nullpointerexception错误?我已经查看了函数,但似乎找不到导致它的原因?任何帮助都很好您好,您确定latReturn和longReturn方法正常工作并且没有抛出nullPointerException吗?如果没有,请附上它们,因为很难从所附的代码中分辨问题出在哪里。当应用程序尝试使用null/nil值时

record1和record2是城市及其属性的csv文件中的行


函数latReturn和longReturn分别从这些行返回lat和long。当我调用距离函数时,虽然我得到一个nullpointerexception错误?我已经查看了函数,但似乎找不到导致它的原因?任何帮助都很好

您好,您确定latReturn和longReturn方法正常工作并且没有抛出nullPointerException吗?如果没有,请附上它们,因为很难从所附的代码中分辨问题出在哪里。当应用程序尝试使用null/nil值时,会引发NullPointerException,请检查这两个方法是否不返回nil,以及record2和record1是否不返回nil。如果存在异常,请同时将stacktrace添加到问题中。(defn longReturn[line](def x line)(def y(string/split x#“,”)(def my map{:city(y 0):lat(y1):long(y2):country(y3):iso2(y4):admin(y5):capital(y6):pop(y7):popproper(y8)})(读取字符串(my map:long)))实际上(city“newyork”)是返回空值的对象。现在,当我使用CSV文件中的实际城市时,该函数可以工作。谢谢你的帮助!您好,您确定latReturn和longReturn方法正常工作并且没有抛出nullPointerException吗?如果没有,请附上它们,因为很难从所附的代码中分辨问题出在哪里。当应用程序尝试使用null/nil值时,会引发NullPointerException,请检查这两个方法是否不返回nil,以及record2和record1是否不返回nil。如果存在异常,请同时将stacktrace添加到问题中。(defn longReturn[line](def x line)(def y(string/split x#“,”)(def my map{:city(y 0):lat(y1):long(y2):country(y3):iso2(y4):admin(y5):capital(y6):pop(y7):popproper(y8)})(读取字符串(my map:long)))实际上(city“newyork”)是返回空值的对象。现在,当我使用CSV文件中的实际城市时,该函数可以工作。谢谢你的帮助!
(defn distance [record1 record2]
  (let [R 6378.137
        dlat (Math/toRadians (- (latReturn record2) (latReturn record1)))
        dlon (Math/toRadians (- (longReturn record2) (longReturn record1)))
        lolnice (Math/toRadians (latReturn record1))
        dnice (Math/toRadians (latReturn record2))
        a (+ (* (Math/sin (/ dlat 2)) (Math/sin (/ dlat 2))) (* (Math/sin (/ dlon 2)) (Math/sin (/ 
dlon 2)) (Math/cos lolnice) (Math/cos dnice)))]
    (* R 2 (Math/asin (Math/sqrt a)))))

(distance (city "Toronto") (city "New York"))