Как добавить два объекта NSNumber?

Вы можете сделать следующее:

Запустить его как скрипт . Вы должны использовать следующий код:

class HelloWorld {
  def main(args:Array[String]): Unit ={
    println("hello world");
  }
}    
object Foo extends HelloWorld
Foo.main(args)

enter image description here

Подсказка: я удалил действие «build» из «Перед запуском» в показать предупреждения ниже.

Запустить его как приложение . Вы можете сохранить свой код. Просто выберите «Приложение» при создании конфигурации.

object HelloWorld{

  def main(args:Array[String]): Unit ={
    println("hello world");
  }
}

enter image description here

Почему?

Необходимо указать точку входа для сценария. Таким образом, вы можете использовать следующий код:

object HelloWorld {
  def main(args:Array[String]): Unit ={
    println("hello world");
  }
}
HelloWorld.main(args) //without this line, Script is not found!

Но это дает ошибку (определение класса или объекта):

enter image description here [1121 ]

An Если вы попытаетесь расширить черту приложения, вы получите 2 предупреждения:

object HelloWorld extends App {
  override def main(args:Array[String]): Unit ={
    println("hello world");
  }
}
HelloWorld.main(args)

enter image description here

Так что я думаю, это Лучше всего использовать одно из двух решений выше.

77
задан Girish 5 July 2013 в 13:54
поделиться

1 ответ

Нет действительно лучшего пути, но Вы действительно не должны делать этого, если можно избежать его. NSNumber существует как обертка к скалярным числам, таким образом, можно сохранить их в наборах и передать их полиморфно с другим NSObjects. Они действительно не используются для хранения чисел в фактической математике. Если Вы делаете математику на них, это намного медленнее, чем выполнение операции на просто скалярах, которая является, вероятно, почему нет никаких удобных методов для него.

, Например:

NSNumber *sum = [NSNumber numberWithFloat:([one floatValue] + [two floatValue])];

уносит как минимум 21 инструкцию относительно отправок сообщения и однако много кода, который методы берут, чтобы распаковать и повторно упаковать значения (вероятно, несколько сотен), чтобы сделать 1 ценность инструкции математики.

Поэтому, если необходимо сохранить числа в использовании dicts NSNumber, если необходимо передать что-то, что могло бы быть числом или строкой в функцию, используют NSNumber, но если Вы просто хотите сделать математическую палку со скаляром C типы.

142
ответ дан Girish 24 November 2019 в 10:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: