Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Kotlin Puzzlersの紹介

Kotlin Puzzlersの紹介

Osaka Mix Leap Study 11の発表資料です.

Avatar for Shota Hayashi

Shota Hayashi

April 20, 2018

Other Decks in Programming

Transcript

  1.  • Y • , JOKMI • • • HE

    P B • ! ,&,! A ! • ! ! 2 SX
  2. ʁ

  3. 

  4.  println(127 as Int? === 127 as Int?) println(128 as

    Int? === 128 as Int?) // a) true; true // b) false; false // c) true; false // d) ↑
  5.  println(127 as Int? === 127 as Int?) println(128 as

    Int? === 128 as Int?) // a) true; true // b) false; false // c) true; false // d) ↑ 
  6.  println(127 as Int? === 127 as Int?) println(128 as

    Int? === 128 as Int?) Int  →  Int? → null  Int? →     Int?
  7.  println(127 as Int? === 127 as Int?) println(128 as

    Int? === 128 as Int?) Int?      Int? 
  8.  println(127 as Int? === 127 as Int?) println(128 as

    Int? === 128 as Int?) ===         
  9.  println(127 as Int? === 127 as Int?) println(128 as

    Int? === 128 as Int?) // a) true; true // b) false; false // c) true; false // d) ↑ b) …? 
  10.  - 8 8 - 1 27 println(127 as Int?

    === 127 as Int?) println(128 as Int? === 128 as Int?) 127,128-
  11.  7 8 -1 println(127 as Int? === 127 as

    Int?) println(128 as Int? === 128 as Int?) 127 128 , 7 2 true
  12.  78 7 1 -2 println(127 as Int? === 127

    as Int?) println(128 as Int? === 128 as Int?) 127 128 1 - 78 7 false , 78 7 true
  13.  println(127 as Int? === 127 as Int?) println(128 as

    Int? === 128 as Int?) // a) true; true // b) false; false // c) true; false // d) ↑  false true
  14. & // ↓ int i = 1; // ↓ 

     Integer i = new Integer(1); // ↓  Integer i = 1; // ↓ val i: Int = 1 // ↓  val i: Int? = 1   
  15. & // ↓ int i = 1; // ↓ 

     Integer i = new Integer(1); // ↓  Integer i = 1; // ↓ val i: Int = 1 // ↓  val i: Int? = 1   
  16. & // ↓ int i = 1; // ↓ 

     Integer i = new Integer(1); // ↓  Integer i = 1; // ↓ val i: Int = 1 // ↓  val i: Int? = 1   
  17. & // ↓ int i = 1; // ↓ 

     Integer i = new Integer(1); // ↓  Integer i = 1; // ↓ val i: Int = 1 // ↓  val i: Int? = 1   
  18.      Integer a127 = 127; Integer

    b127 = 127; //  Integer a128 = 128; Integer b128 = 128; System.out.println(a127 == b127); // true System.out.println(a128 == b128); // false
  19.      Integer a127 = 127; Integer

    b127 = 127; //  Integer a128 = 128; Integer b128 = 128; System.out.println(a127 == b127); // true System.out.println(a128 == b128); // false
  20.      Integer a127 = 127; Integer

    b127 = 127; //  Integer a128 = 128; Integer b128 = 128; System.out.println(a127 == b127); // true System.out.println(a128 == b128); // false
  21.      Integer a127 = 127; Integer

    b127 = 127; //  Integer a128 = 128; Integer b128 = 128; System.out.println(a127 == b127); // true System.out.println(a128 == b128); // false
  22.       Integer a127 = new

    Integer(127); Integer b127 = new Integer(127); //  Integer a128 = new Integer(128); Integer b128 = new Integer(128); System.out.println(a127 == b127); // false System.out.println(a128 == b128); // false
  23.       Integer a127 = new

    Integer(127); Integer b127 = new Integer(127); //  Integer a128 = new Integer(128); Integer b128 = new Integer(128); System.out.println(a127 == b127); // false System.out.println(a128 == b128); // false
  24. 

  25.  enum class E { e } val e =

    E.e val a = when (E.e) { e -> "1" } print(a) // a) 1 // b) null // c) NullPointerException // d) 
  26.  enum class E { e } val e =

    E.e val a = when (E.e) { e -> "1" } print(a) // a) 1 // b) null // c) NullPointerException // d) 
  27.  enum class E { e } val e =

    E.e val a = when (E.e) { e -> "1" } print(a) // a) 1 // b) null // c) NullPointerException // d) 
  28.  enum class E { e } val e =

    E.e val a = when (E.e) { e -> "1" } print(a) // a) 1 // b) null // c) NullPointerException // d) 
  29.  enum class E { e } val e =

    E.e val a = when (E.e) { e -> "1" } print(a) // a) 1 // b) null // c) NullPointerException // d) 
  30.  enum class E { e } val e =

    E.e val a = when (E.e) { e -> "1" } print(a) // a) 1 // b) null // c) NullPointerException // d)  
  31.  enum class E { e } val e =

    E.e val a = when (E.e) { e -> "1" } print(a)       
  32. 2 &  when      

    enum class E { e1, e2 } val a = when (E.e1) { E.e1 -> "1" } print(a) 
  33. 2 &        

    enum class E { e1, e2 } val a = when (E.e1) { E.e1 -> "1" E.e2 -> "2" } print(a)
  34.  enum class E { e } val e =

    E.e val a = when (E.e) { e -> "1" } print(a)      
  35.  enum class E { e } val e =

    E.e val a = when (E.e) { e -> "1" } print(a)       
  36.  enum class E { e } val a =

    when (E.e) { E.e -> "1" } print(a)  
  37.  enum class E { e } val e =

    E.e val a = when (E.e) { e -> "1" } print(a) enum E { case e } let eVar = E.e switch E.e { case eVar: print("a") }     
  38.  val s: String? = null if (s?.isEmpty()) println("true") //

    a) Nothing // b) true // c) NullPointerException // d) 
  39.  val s: String? = null if (s?.isEmpty()) println("true") //

    a) Nothing // b) true // c) NullPointerException // d) 
  40.  val s: String? = null if (s?.isEmpty()) println("true") //

    a) Nothing // b) true // c) NullPointerException // d) 
  41.  val s: String? = null if (s?.isEmpty()) println("true") //

    a) Nothing // b) true // c) NullPointerException // d)  
  42.  val s: String? = null if (s?.isEmpty()) println("true") //

    a) Nothing // b) true // c) NullPointerException // d)     
  43. 

  44.  • p jk :T KD c tYd z b

    HOS :T KD • og :T KD a7 SKH 0 E og e c • 3HS TA • GSSO HSGTA L HAD J SKH OT KD • 5 SDKKH 512/ wyu v ciq_nl • 7 SKH crmhsf • T TAD • GSSO VVV TSTAD L V S G. -TJV= 8P?O J • KHCD • GSSO D T D IDSA H L S D O CT S J SKH E KHCD / S 7DJ OCE • 7 SKH 0 E ( ) 0 +
  45.      • p jk :T KD

    c tYd z b HOS :T KD • og :T KD a7 SKH 0 E og e c • 3HS TA • GSSO HSGTA L HAD J SKH OT KD • 5 SDKKH 512/ wyu v ciq_nl • 7 SKH crmhsf • T TAD • GSSO VVV TSTAD L V S G. -TJV= 8P?O J • KHCD • GSSO D T D IDSA H L S D O CT S J SKH E KHCD / S 7DJ OCE • 7 SKH 0 E ( ) 0 +