Comments 51
UFO just landed and posted this here
А можно ли скачать новую XCode не имея статус разработчика?
0
UFO just landed and posted this here
В интернетах есть образы MacOS 10.9.3 и XCode 6 beta. Вроде работает.
0
А на текущей стабильной OSX заработает или надо бету обязательно?
0
Но тестировать без статуса даже на симуляторе не получиться
0
Да, заходите в AppStore со своего яблока, авторизуете в Apple ID и скачиваете. Так же, на оф. сайте можете скачать любую версию Xcode.
0
компания Apple начала творить революцию в стане Objective-C разработчиков
Очередная яблочная «революция».
-7
OptionalValue
func makeIncrementer() -> (Int -> Int)
Иногда возникает ощущение, что авторы курили Хаскель.
func makeIncrementer() -> (Int -> Int)
Иногда возникает ощущение, что авторы курили Хаскель.
+3
и Скалу
+1
И правильно делали.
+5
Очень жаль только, что не все является выражением. В скале уже привык к val x = for(i < — 1 to 5) yield i*2
+2
Да, согласен. То же самое с
Особенно в анонимных функциях, это ужас какой-то:
if
и другими управляющими конструкциями. Очень странное решение, учитывая функциональные возможности языка, так как это означает, что невозможно обходится только неизменяемыми переменными. Да и необходимость в явном return
раздражает (:Особенно в анонимных функциях, это ужас какой-то:
{ (a: Int) -> Int in return a + 1 }
0
Не надо лишний раз раздражаться. Это вредно. Вместо
{ (a: Int) -> Int in return a + 1 }
можно написать
{ $0 + 1 }
{ (a: Int) -> Int in return a + 1 }
можно написать
{ $0 + 1 }
0
Типы аргументов, тип возвращаемого как и return могут быть опущены. Например:
println({a in a + 1 }(1))
0
Можно же написать экстеншены к любому типу.
Напишите экстеншен к Bool или к колекции и вы получите семантически нечто похожее.
Напишите экстеншен к Bool или к колекции и вы получите семантически нечто похожее.
0
Как же Apple задолбал своими попытками сломать совместимость кода с предыдущими версиями iOS…
-13
Тема интересна! Прочитать еще раз на русском вредно не будет. Я за продолжение! И спасибо за начинание!
-3
UFO just landed and posted this here
Знаки вопросов в синтаксисе безумно радуют:
if let t = foo.bar? as? T
{
}
0
UFO just landed and posted this here
Не очень понимаю зачем перевод, это и есть тот самый «технический английский», который знает любой нормальный разработчик.
+9
UFO just landed and posted this here
Мне кажется, было бы полезно сделать пошаговый tutorial по разработке первого приложения на swift, для тех кто раньше не программировал под ios. Начиная с настройки окружения…
0
Оставлю это тут swift-info.ru/
+2
Чисто из любопытства, чем синтаксис
предпочтительнее
или даже
?
Дело даже не в моей привычке к С\С++\C#, как минимум приходится делать два лишних нажатия для написания стрелочки (одно из них с шифтом). Мелочь? Из них складываются миллионы строк кода, годы работы, синтаксис должен быть выверен, лаконичен.
func area() -> Double
предпочтительнее
Double func area()
или даже
Double area()
?
Дело даже не в моей привычке к С\С++\C#, как минимум приходится делать два лишних нажатия для написания стрелочки (одно из них с шифтом). Мелочь? Из них складываются миллионы строк кода, годы работы, синтаксис должен быть выверен, лаконичен.
+2
Работая в нормальной IDE я практически никогда не задумываюсь в С++ где ставить (.) а где (->) просто тупо нажимаю (.)
Точно также нотация func area() -> Double набирается примерно fu(Tab)area(Tab)dou(Enter) и ничем по сложности не отличается от Double func area() которая набирается dou(Tab)fu(Tab)area(Enter)
Точно также нотация func area() -> Double набирается примерно fu(Tab)area(Tab)dou(Enter) и ничем по сложности не отличается от Double func area() которая набирается dou(Tab)fu(Tab)area(Enter)
-1
Так как Swift поддерживает функции высшего порядка, использования постфиксного синтаксиса для определения возвращаемого типа позволяет сделать синтаксис более однородным.
Объявление функции:
Объявление переменной, которая хранит функцию отображающую целочисленные значения в целочисленные значения:
Обявление анонимной функции:
Объявление функции, которая возвращает другую функцию:
Объявление функции:
func increment(value: Int) -> Int {
return value + 1
}
Объявление переменной, которая хранит функцию отображающую целочисленные значения в целочисленные значения:
let functionAlias: (Int) -> Int = increment
Обявление анонимной функции:
let incrementer: (Int) -> Int = { (x: Int) -> Int in return x + 1 }
Объявление функции, которая возвращает другую функцию:
func generateIncrementer(step: Int) -> (Int) -> Int {
return { (value: Int) -> Int in return value + step }
}
let addTen = generateIncrementer(10)
addTen(15) // 25
+3
Ух, обилие скобочек и стрелочек прям разгоняют мозговой CPU)
Спасибо за пример!
Спасибо за пример!
+1
На самом деле у Swift'а несколько странный синтаксис, поначалу он показался мне очень похожим на Scala, но если Scala это смесь объектно-ориентированной и фунациональной парадигм с уклоном в функциональную, то Swift выглядит как смесь функциональной и процедурной (ну и капельку объектно-ориентированной тоже) с уклоном в процедурную.
Те же примеры на Scala:
Те же примеры на Scala:
// возвращаемый тип функции выводится автоматически
// последнее выражения функции является возвращаемым значением
def increment(value: Int) = value + 1
// нижнее подчеркивание обозначает, что надо сохранить в переменную функцию, а не возвращаемое ей значение
// (это связано с тем, что функция в Scala может быть вызвана без скобок)
val functionAlias = increment _
val incrementer = (x: Int) => x + 1
def generateIncrementer(step: Int)(value: Int) = value + step
val addTen = generateIncrementer(10) _
addTen(15) // 25
+2
Swift всем показался очень похожим на «что либо из любимых языков».
Например в моем случае — https://groups.google.com/forum/#!topic/golang-nuts/0TaFP4ec6U8/discussion
Например в моем случае — https://groups.google.com/forum/#!topic/golang-nuts/0TaFP4ec6U8/discussion
0
Дожили. Манулы на русский переводят.
+4
При создании цикла используйте две точки (..), если не хотите включать большее значение в диапазон, и три точки (…), чтобы включить как меньшее, так и большее значения.
В Xcode beta 3 оператор
..
изменился на ..<
И, кстати, если хотите погуглить на эту тему, то вам понадобится название на родном: «Half-Open Range Operator»
0
А нет ли акой-нибудь книги или хорошего туториала по разработке на swift под iOS с нуля?
0
Sign up to leave a comment.
Язык программирования Swift. Русская версия