Я не уверен, но я смотрел репозиторий GitHub здесь. Кажется, в строке 62 и от строки 87 до строки 99 он просто вызывает x.obj(i)
.
Он не выполняет никакой проверки, а просто вызывает его. Это приводит к java.util.NoSuchElementException
, потому что пытается получить доступ без проверки. Я не видел ни одной версии, чтобы получить Option или даже выполнить проверку, если это значение существует.
Я бы посоветовал пройти через идиому Try / Success / Failure на scala
val tryAttr = Try{json("attributename").str}
tryAttr match {
case Success(_) => doYourThing
case Failure(t: NoSuchElementException) => DoSomethingElse
}
iteritems is a method. You need parenthesis to call it: visits.iteritems()
.
As it stands now, you are passing the iteritems method itself to sorted
which is why it is complaining that it can't iterate over a function or method.
Лично я думаю, что одна из этих форм является несколько более краткой, поскольку первый аргумент должен быть только повторяемым, а не итератор.
sorted_keys = sorted(visits.keys(), reverse=True)
sorted_keys = visits.keys().sort(reverse=True)