Wednesday, March 27, 2019

Udemy-2: Udemy-1 with filter(WHERE function)





void main() {
  var deck = new Deck();
deck.shuffle();
  print(deck.cardsWithSuits('DIAMONDS'));
}

class Deck {
  List<Card> cards = [];
  Deck() {
 
    var ranks = ['ACE', 'TWO', 'THREE', 'FOUR', 'FIVE'];
    var suits = ['DIAMONDS', 'HEARTS', 'CLUBS', 'SPADES'];

    for (var rank in ranks) {
      for (var suit in suits) {
//         print("rank: $rank & suit: $suit");
        var card = new Card(rank, suit);
        cards.add(card);
      }
   
    }
  }

      toString() {
      return cards.toString();
    }

  shuffle(){
    cards.shuffle();
  }

  cardsWithSuits(String suit){
    return cards.where((card){
      return card.suit == suit;
    });
  }

}

class Card{
  String rank;
  String suit;
  Card(this.rank, this.suit);

  toString(){
    return "$rank of $suit";
  }
}


=======================
IF WE HAVE SINGLE LINE EXPRESSION, WE CAN WRITE LIKE THIS-

cardsWithSuits(String suit){
    return cards.where((card) => card.suit == suit );
  }
 

=======================
















No comments:

Post a Comment