HelloWorldFizzBuzz 0.5.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 429cbd88f6f119d04d133c5d1c46d5cf3535ddd1
4
- data.tar.gz: a6a569827ff3a5d666a299295344dd37524a7a2b
3
+ metadata.gz: 96ed6cefb8d6077a13e0590ed06b3f7b5126b702
4
+ data.tar.gz: 62bbb4421dbdeeb5871a34cb478d16d0316faa8b
5
5
  SHA512:
6
- metadata.gz: d731918d0ce25278f4b717163ccf417cfa487d15fe991e3330d6a8a809a09608e251319f827efe4e0f76654e2c7a5a6432430e47fd258b164bb83e134f27cbab
7
- data.tar.gz: 0f2392b8159c1797b2d8b280cb5cacee53cdf88798cd2c82f97cf7fc9d6dbce02efabee5426099abb92cd5a3ed4b2238410c4a82a10cd44e5a15eec58f3805d2
6
+ metadata.gz: 3c26ba12e60162896178083b04e2a2ead2d867a0247c4928287e1a75578ffb3a9831b269d6c760c721302d922808731c95c6085d37ad339048cb43018c95b76b
7
+ data.tar.gz: 44a7908bd5f10cabeffb0500dd08d213968a512cb7c16892c8b00baa80e57f1c85b925aa27210408ad3d6df183dd58ac42a4d730782d961f8106336fa5dd2947
@@ -23,6 +23,17 @@ end
23
23
 
24
24
  ## Add hello-world && fizz-buzz examples Below (In Alphabetic Order)
25
25
 
26
+ =begin
27
+ Example entry:
28
+
29
+ @posts.insert(language: 'programinglanguage',
30
+ helloworld: " helloworld example
31
+ ",
32
+ fizzbuzz: " fizzbuzz example
33
+ ",)
34
+ =end
35
+
36
+
26
37
  ### A
27
38
  @posts.insert(language: 'ada',
28
39
  helloworld: "with Text_IO;
@@ -114,7 +125,47 @@ int main(void)
114
125
  }
115
126
  }")
116
127
  ### E
128
+ @posts.insert(language: 'erlang',
129
+ helloworld: "-module(hello).
130
+ -export([hello_world/0]).
117
131
 
132
+ hello_world() -> io:fwrite('hello, world\n').
133
+ ",
134
+ fizzbuzz: "-module(fizzbuzz).
135
+ -export([fizzbuzz/1]).
136
+
137
+ -define(MOD_THREE, 'fizz').
138
+ -define(MOD_FIVE, 'buzz').
139
+
140
+ % Helper function to map fizzbuzz across a sequence of numbers
141
+ fizzbuzz(To) ->
142
+ lists:map(fun nt/1, lists:seq(1, To)).
143
+
144
+ % initiate the number transform for a Number
145
+ nt(Number) ->
146
+ number_transform(Number, []).
147
+
148
+ % transform the number to either nothing or 'fizz' or 'buzz' or 'fizzbuzz'
149
+ %% NOTE: This style of fizzbuzz allows arbitrary matching
150
+ %% e.g. add bazz for number where Number rem 7 == 0
151
+ number_transform(0, Words) ->
152
+ lists:flatten(lists:reverse(Words));
153
+ number_transform(Number, Words) when Number rem 3 == 0 ->
154
+ case lists:member(?MOD_THREE, Words) of
155
+ true -> number_transform(round(Number / 3), Words);
156
+ false -> number_transform(round(Number / 3), [?MOD_THREE|Words])
157
+ end;
158
+ number_transform(Number, Words) when Number rem 5 == 0 ->
159
+ case lists:member(?MOD_FIVE, Words) of
160
+ true -> number_transform(round(Number / 5), Words);
161
+ false -> number_transform(round(Number / 5), [?MOD_FIVE|Words])
162
+ end;
163
+ number_transform(Number, []) ->
164
+ Number;
165
+ number_transform(Number, Words) ->
166
+ Number,
167
+ lists:flatten(lists:reverse(Words)).
168
+ ")
118
169
  ### F
119
170
 
120
171
  ### G
@@ -178,7 +229,8 @@ def fizzbuzz(n)
178
229
  end
179
230
  end
180
231
 
181
- fizzbuzz(100)")
232
+ fizzbuzz(100)
233
+ ")
182
234
 
183
235
  ### S
184
236
 
@@ -1,5 +1,5 @@
1
1
  #! /bin/usr/env ruby
2
2
 
3
3
  module HelloWorldFizzBuzz
4
- VERSION = "0.5.0"
4
+ VERSION = "1.0.0"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: HelloWorldFizzBuzz
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Derek Viera
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-12-12 00:00:00.000000000 Z
11
+ date: 2016-12-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler