Swift 基礎文法 part2
こんにちはかわです。
アドベントカレンダー13記事目。
もうまにあわない。
今回は
今回もSwiftの基礎文法やっていきます。
if文
var num: Int = 5 if num <= 5{ print("5以下だよ") }else if num <= 10 && num > 5{ print("5より大きく10以下だよ") }else{ print("10より大きいよ") }
switch文
let name = "kawa" switch name{ case "naka": print("あなたはなかですね") case "kawa", "river": print("あなたはかわですね") default: print("だれだ君は?") }
範囲
let age: Int = 18 switch age{ case 0..<18: print("17歳未満だね") case 18...22: print("大学生かな") default: print("大人かな") }
配列
var numbers: [Int] = [1, 2, 3, 4, 5] numbers.append(6) // => [1, 2, 3, 4, 5, 6] let names = ["hoge", "name", "kawa"]
for文
let names = ["kawa", "naka", "river"] for name in names{ print("\(name)だよ") } let num = 8 for index in 1...9{ print(num * index) }
以上
Swift 基礎文法 part1
こんにちはかわです。
アドベントカレンダー12記事目。
全く間に合ってない。
今回は
急遽Swiftを学ばなきゃいけなくなった。
メモ程度にまとめる。
swift 3.0
標準出力
print("Hello World") // => Hello World
コメントアウトは//
四則演算
それぞれ計算を載せる
print(5 + 4) // => 9 print(5 - 4) // => 1 print(5 * 4) // => 20 print(5 / 4) // => 1 print(5 % 4) // => 1
数字と記号の間に空白を入れる場合,両方に空白を入れないとエラー
print(5 *4) // => error print(5* 4) // => error print(5*4) // =>20
定数
let 定数名: データ型 = 値
let num: Int = 5 let pi: Double = 3.14 let str: String = "kawa" print(num) // 5 print(pi) // 3.14 print(str) // kawa
変数
var 変数名: データ型 = 値
キャメルケース
var num: Int = 5 var pi: Double = 3.14 var str: String = "kawa"
式展開
(変数or定数)
let name: String = "kawa" var age: Int = 100 print("\(name)は現在\(age)歳です") //=> kawaは現在100歳です
キャスト(型変換)
データ型(変数)
var num: Int = 5 var pi: Double = 3.14 print(Double(num) * pi) //=>15.7 print(num * pi) //=>error
以上
Ruby 多重代入
こんにちはかわです。
アドベントカレンダー11記事目です。
書きます。
何をするか
この本を大分前に買って読んでた。
読みきれてなく覚えておきたいことを記憶する目的で書く。
現在は第二版が出ているが、基礎的な部分は変わらないので学習する。
リファレンスも参考にしている
実行環境
Ruby 2.4.2
多重代入
左辺と右辺の式をカンマで区切ることでそれぞれに代入
a, b = 1, 2 a # => 1 b # => 2
その際右辺は配列に変換されて代入される。
上記の状態で右辺を配列にしても代入可能
a, b = [1, 2] a # => 1 b # => 2
左辺で余った変数にはnil
a, b = 1 a # => 1 b # => nil
右辺で余った要素は無視
a, b = 1, 2, 3 a # => 1 b # => 2
左辺の最後の式に*をつけることで、余った要素を配列として代入
a, *b = 1, 2, 3 a # => 1 b # => [2, 3]
右辺の先頭要素だけを代入
a , = 1, 2, 3 a # => 1 a, * = 1, 2, 3 a # => 1 #おまけ a = 1, 2, 3 a # => [1, 2, 3]
右辺末尾だけ代入
* , a = 1, 2, 3 a # => 3
要素すべてを削除
* = 1, 2, 3 #使いみち #メソッドの引数を無視したいときに使用 def test1(*) puts "OK" end def test2 puts "OK?" end test1(1, 2) # => nil "OK"が出力 test2(1, 2) # => ArgumentError: wrong number of arguments (given 2, expected 0)
右辺に配列がある場合,左辺を()でネストすることで代入可能
a, (b, c) = 1, [2, 3] a # => 1 b # => 2 c # => 3