scala> // Parameterize Class instance with Value & Type scala> scala> /******************************************* | Creating & Initializing an Array #77 | *******************************************/ | //Option 1 | // Here 'String' is Parameterized Type | // '2' is a Parameterized Value | // Square Bracket ([]) is used to Parameterize a Type | val subject:Array[String] = new Array[String](2) subject: Array[String] = Array(null, null) scala> subject.update(0, "english") scala> subject.update(1, "math") scala> scala> //Option 2 scala> val subject = new Array[String](3) subject: Array[String] = Array(null, null, null) scala> // During assignment Parenthesis calls the 'update()' method scala> // passing both the Array index & value assigned scala> subject(0) = "english" scala> subject(1) = "math" scala> scala> // Option 3 scala> // Here Parenthesis in 'Array' calls the apply() factory scala> // method of the Companion Object (Here Array is a scala> // Companion Object rather than the Class) scala> val subject = Array("english", "math") subject: Array[String] = Array(english, math) scala> /******************************************* | Accessing an Array #77 | *******************************************/ | | //Option 1 | for(i <- (0).to(1)) { | // Note : Parenthesis is used to access an Array element | // unlike Square brackets that is used in Java | // #79 | print(subject.apply(i)) | } englishmath scala> scala> //Option 2 scala> // If a method ('to' in our case) takes only 1 parameter scala> // '.' and Parenthesis cna be omitted (We should also have a scala> // receiver for the method call...in our case 'i') scala> for(i <- 0 to 1) { | //Note here..the apply() method is called implicitly | print(subject(i)) | } englishmath