File tree Expand file tree Collapse file tree 2 files changed +24
-10
lines changed Expand file tree Collapse file tree 2 files changed +24
-10
lines changed Original file line number Diff line number Diff line change @@ -23,14 +23,20 @@ let package = Package(
23
23
. package ( name: " DeckOfPlayingCards " ,
24
24
url: " https://github.com/apple/example-package-deckofplayingcards.git " ,
25
25
from: " 3.0.0 " ) ,
26
+ . package ( name: " swift-argument-parser " ,
27
+ url: " https://github.com/apple/swift-argument-parser.git " ,
28
+ from: " 0.4.4 " ) ,
26
29
] ,
27
30
targets: [
28
31
// Targets are the basic building blocks of a package. A target can define a module or a test suite.
29
32
// Targets can depend on other targets in this package, and on products in packages which this package depends on.
30
33
. target(
31
34
name: " Dealer " ,
32
35
dependencies: [
33
- . byName( name: " DeckOfPlayingCards " )
36
+ . product( name: " DeckOfPlayingCards " ,
37
+ package : " DeckOfPlayingCards " ) ,
38
+ . product( name: " ArgumentParser " ,
39
+ package : " swift-argument-parser " )
34
40
] ) ,
35
41
. testTarget(
36
42
name: " DealerTests " ,
Original file line number Diff line number Diff line change @@ -14,17 +14,25 @@ srandom(UInt32(clock()))
14
14
#endif
15
15
16
16
import DeckOfPlayingCards
17
+ import ArgumentParser
17
18
18
- let numberOfCards = 10
19
+ struct Deal : ParsableCommand {
20
+ @Argument ( help: " The number of cards to deal. " )
21
+ var numberOfCards : Int = 10
19
22
20
- var deck = Deck . standard52CardDeck ( )
21
- deck. shuffle ( )
23
+ mutating func run( ) throws {
24
+ var deck = Deck . standard52CardDeck ( )
25
+ deck. shuffle ( )
22
26
23
- for _ in 0 ..< numberOfCards {
24
- guard let card = deck. deal ( ) else {
25
- print ( " No More Cards! " )
26
- break
27
- }
27
+ for _ in 0 ..< numberOfCards {
28
+ guard let card = deck. deal ( ) else {
29
+ print ( " No More Cards! " )
30
+ break
31
+ }
28
32
29
- print ( card)
33
+ print ( card)
34
+ }
35
+ }
30
36
}
37
+
38
+ Deal . main ( )
You can’t perform that action at this time.
0 commit comments