次のiphoneアプリの開発からはSwiftでということが正式に決まったので学習開始。
ざっと見た感じscalaみたい。scalaはあんま得意じゃないです。playframeworkとか苦労した記憶しか無い。
- xcode6.0.1
基本知識のまとめ
1.let 定数
let lable = "This width is"
2.var 変数
var test = "test"
3.文字列と数値を+でつなげても、自動で数値がstringには変換されない。
文字列の中で\()を使うことで数値を加えることが可能。
let apples = 3
let appleSummary = "I hava \(apples) apples."
# rubyの式展開にちょっと似ている。
# ruby
ape = 15
puts 'My ape is #{ape}"
4.配列
# 初期化
var shoppingList:[String] = []
型を宣言しないとエラーが発生する
× var shoppingList = []
5. optional
scalaのoptionとほとんど同じ
if文でtrueの場合
var optionalName: String? = "Jone appleseed"
var greeting = "hello"
if let name = optionalName {
greeting = "HEllo, \(name)"
}
6. switch
型での判断が可能。
僕の中の言語の善し悪しの基準に、プログラム言語はswitchの機能で決まるという勝手な思い込みがあるのですが、ruby > scala > swiftという印象。
かなり高機能です。
var vegitable = "red peper"
switch vegitable
{
case "celery":
let vagetableComment = "Everything is not good"
case "celery", "bule peper":
let vagetableComment = "this is great!"
case let x where x.hasPrefix("red"):
let vagetableComment = "common on"
default:
let vagetableComment = "Everything is good"
}
whereが良い感じ。
7. func
関数
scalaのtupleみたいな機能が使える。いかにもモダンな言語という印象。
func culcStatisc(scores:[Int]) -> (min: Int, max: Int, sum: Int) {
var min = scores[0]
var max = scores[0]
var sum = 0
for score in scores {
if score > max {
max = score
} else if score < min {
min = score
}
sum += score
}
return (min, max, sum)
}
let statistics = culcStatisc([100, 80, 90, 70])
statistics.min
statistics.sum
続く
参考サイト
0 件のコメント:
コメントを投稿