Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 14986ee

Browse files
Merge branch dostonnabotov:main into px-to-rem
2 parents bd4f369 + 9105c2a commit 14986ee

21 files changed

+847
-0
lines changed

‎public/consolidated/_index.json‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,10 @@
3939
"lang": "REGEX",
4040
"icon": "/icons/regex.svg"
4141
},
42+
{
43+
"lang": "RUBY",
44+
"icon": "/icons/ruby.svg"
45+
},
4246
{
4347
"lang": "RUST",
4448
"icon": "/icons/rust.svg"

‎public/consolidated/ruby.json‎

Lines changed: 222 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,222 @@
1+
[
2+
{
3+
"categoryName": "Array Manipulation",
4+
"snippets": [
5+
{
6+
"title": "Binary Search",
7+
"description": "Searches for an element in a sorted array using binary search.",
8+
"author": "ACR1209",
9+
"tags": [
10+
"array",
11+
"binary-search",
12+
"search"
13+
],
14+
"contributors": [],
15+
"code": "def binary_search(array, target)\n low = 0\n high = array.length - 1\n\n while low <= high\n mid = (low + high) / 2\n guess = array[mid]\n\n if guess == target\n return mid\n elsif guess > target\n high = mid - 1\n else\n low = mid + 1\n end\n end\n\n return nil\nend\n\n# Usage:\narray = [1, 3, 5, 7, 9]\ntarget = 5\nresult = binary_search(array, target)\nputs result # Output: 2\n"
16+
},
17+
{
18+
"title": "Chunk Array",
19+
"description": "Splits an array into chunks of a specified size.",
20+
"author": "ACR1209",
21+
"tags": [
22+
"array",
23+
"chunk"
24+
],
25+
"contributors": [],
26+
"code": "def chunk_array(array, size)\n array.each_slice(size).to_a\nend\n\n# Usage:\narr = [1, 2, 3, 4, 5, 6, 7, 8, 9]\nchunked_arr = chunk_array(arr, 2)\nputs chunked_arr.inspect # Output: [[1, 2], [3, 4], [5, 6], [7, 8], [9]]\n"
27+
},
28+
{
29+
"title": "Matrix Transpose",
30+
"description": "Transposes a 2D matrix.",
31+
"author": "ACR1209",
32+
"tags": [
33+
"array",
34+
"matrix",
35+
"transpose"
36+
],
37+
"contributors": [],
38+
"code": "def transpose_matrix(matrix)\n return [] if matrix.empty?\n return [] if matrix.first.empty?\n\n matrix.first.zip(*matrix[1..-1])\nend\n\n# Usage:\nmatrix = [\n [1, 2, 3],\n [4, 5, 6],\n [7, 8, 9]\n]\nprint transpose_matrix(matrix) # Output: [[1, 4, 7], [2, 5, 8], [3, 6, 9]]\n"
39+
}
40+
]
41+
},
42+
{
43+
"categoryName": "Basics",
44+
"snippets": [
45+
{
46+
"title": "Hello, World!",
47+
"description": "Prints Hello, World! to the terminal.",
48+
"author": "ACR1209",
49+
"tags": [
50+
"printing",
51+
"hello-world",
52+
"utility"
53+
],
54+
"contributors": [],
55+
"code": "puts 'Hello, World!'\n"
56+
}
57+
]
58+
},
59+
{
60+
"categoryName": "Error Handling",
61+
"snippets": [
62+
{
63+
"title": "Custom Error Class",
64+
"description": "Defines and raises a custom error class in Ruby.",
65+
"author": "ACR1209",
66+
"tags": [
67+
"error handling",
68+
"custom error"
69+
],
70+
"contributors": [],
71+
"code": "class MyCustomError < StandardError; end\n\ndef risky_method(value)\n raise MyCustomError, \"Value must be positive\" if value <= 0\n \"Valid value: #{value}\"\nend\n\n# Usage:\nbegin\n puts risky_method(-1)\nrescue MyCustomError => e\n puts e.message # Output: \"Value must be positive\"\nend\n"
72+
}
73+
]
74+
},
75+
{
76+
"categoryName": "Math And Numbers",
77+
"snippets": [
78+
{
79+
"title": "Calculate Compound Interest",
80+
"description": "Calculates compound interest for a given principal amount, rate, and time period.",
81+
"author": "ACR1209",
82+
"tags": [
83+
"math",
84+
"compound interest",
85+
"finance"
86+
],
87+
"contributors": [
88+
"axorax"
89+
],
90+
"code": "def compound_interest(principal, rate, time, n = 1)\n principal * (1 + rate / n) ** (n * time)\nend\n\n# Usage:\nputs compound_interest(1000, 0.05, 5) # Output: 1276.2815625000003\nputs compound_interest(1000, 0.05, 5, 12) # Output: 1283.3586785035118\n"
91+
},
92+
{
93+
"title": "Calculate Factorial",
94+
"description": "Computes the factorial of a given integer.",
95+
"author": "ACR1209",
96+
"tags": [
97+
"math",
98+
"factorial"
99+
],
100+
"contributors": [],
101+
"code": "def factorial(n)\n return 1 if n <= 1\n (2..n).reduce(1, :*)\nend\n\n# Usage:\nputs factorial(5) # Output: 120\n"
102+
},
103+
{
104+
"title": "Check Prime Number",
105+
"description": "Checks if a number is a prime number.",
106+
"author": "ACR1209",
107+
"tags": [
108+
"math",
109+
"prime",
110+
"check"
111+
],
112+
"contributors": [
113+
"dostonnabotov"
114+
],
115+
"code": "def is_prime?(n)\n return false if n <= 1\n (2..Math.sqrt(n)).each do |i|\n return false if n % i == 0\n end\n true\nend\n\n# Usage:\nputs is_prime?(29) # Output: true\nputs is_prime?(30) # Output: false\n"
116+
},
117+
{
118+
"title": "Find all primes up to integer (Sieve of Sundaram)",
119+
"description": "Finds all the prime numbers up to a specific integer.",
120+
"author": "ACR1209",
121+
"tags": [
122+
"math",
123+
"prime numbers"
124+
],
125+
"contributors": [],
126+
"code": "def sieve_of_sundaram(limit)\n n = (limit - 1) / 2\n marked = Array.new(n + 1, false)\n\n (1..n).each do |i|\n j = i\n while (i + j + 2 * i * j) <= n\n marked[i + j + 2 * i * j] = true\n j += 1\n end\n end\n\n primes = [2]\n (1..n).each do |i|\n primes << (2 * i + 1) unless marked[i]\n end\n\n primes\nend\n\n# Usage:\nprint sieve_of_sundaram(30) # Output: [2, 3, 5, 7, 11, 13, 17, 19, 23, 29]\n"
127+
}
128+
]
129+
},
130+
{
131+
"categoryName": "String Manipulation",
132+
"snippets": [
133+
{
134+
"title": "Capitalize Words",
135+
"description": "Capitalizes the first letter of each word in a string.",
136+
"author": "ACR1209",
137+
"tags": [
138+
"string",
139+
"capitalize",
140+
"words"
141+
],
142+
"contributors": [],
143+
"code": "def capitalize_words(str)\n str.split.map(&:capitalize).join(' ')\nend\n\n# Usage:\nsentence = \"ruby is awesome\"\nputs capitalize_words(sentence) # Output: \"Ruby Is Awesome\"\n"
144+
},
145+
{
146+
"title": "Count Word Occurrences in String",
147+
"description": "Counts the occurrences of each word in a given string.",
148+
"author": "ACR1209",
149+
"tags": [
150+
"string",
151+
"occurrences",
152+
"word-count"
153+
],
154+
"contributors": [],
155+
"code": "def count_word_occurrences(text)\n words = text.downcase.scan(/\\w+/)\n occurrences = Hash.new(0)\n words.each { |word| occurrences[word] += 1 }\n occurrences\nend\n\n# Usage:\ntext = \"ruby is awesome and Ruby is fun\"\nputs count_word_occurrences(text) # Output: {\"ruby\"=>2, \"is\"=>2, \"awesome\"=>1, \"and\"=>1, \"fun\"=>1}\n"
156+
},
157+
{
158+
"title": "Remove Punctuation",
159+
"description": "Removes all punctuation from a given string.",
160+
"author": "ACR1209",
161+
"tags": [
162+
"string",
163+
"punctuation",
164+
"remove"
165+
],
166+
"contributors": [],
167+
"code": "def remove_punctuation(str)\n str.gsub(/[[:punct:]]/, '')\nend\n\n# Usage:\ntext = \"Hello, Ruby! How's it going?\"\nputs remove_punctuation(text) # Output: \"Hello Ruby Hows it going\"\n"
168+
},
169+
{
170+
"title": "Transform Camel Case to Snake Case",
171+
"description": "Converts a Camel or Pascal Case string to Snake case.",
172+
"author": "ACR1209",
173+
"tags": [
174+
"string",
175+
"convert",
176+
"camel-case",
177+
"snake-case",
178+
"pascal-case"
179+
],
180+
"contributors": [],
181+
"code": "def camel_to_snake(str)\n str.gsub(/([A-Z])/, '_\\1').sub(/^_/, '').downcase\nend\n\n# Usage:\ncamel_case = \"camelCaseToSnakeCase\"\npascal_case = \"PascalCaseToSnakeCase\"\nputs camel_to_snake(camel_case) # Output: \"camel_case_to_snake_case\"\nputs camel_to_snake(pascal_case) # Output: \"pascal_case_to_snake_case\"\n"
182+
},
183+
{
184+
"title": "Transform from Snake Case to Camel Case",
185+
"description": "Converts a Snake Case string to Camel Case.",
186+
"author": "ACR1209",
187+
"tags": [
188+
"string",
189+
"convert",
190+
"snake-case",
191+
"camel-case"
192+
],
193+
"contributors": [],
194+
"code": "def snake_to_camel(str)\n str.split('_').map.with_index { |word, index| \n index == 0 ? word : word.capitalize \n }.join\nend\n\n# Usage:\nsnake_case = \"snake_case_to_camel_case\"\nputs snake_to_camel(snake_case) # Output: \"snakeCaseToCamelCase\"\n"
195+
},
196+
{
197+
"title": "Transform from Snake Case to Pascal Case",
198+
"description": "Converts a Snake Case string to Pascal Case.",
199+
"author": "ACR1209",
200+
"tags": [
201+
"string",
202+
"convert",
203+
"snake-case",
204+
"pascal-case"
205+
],
206+
"contributors": [],
207+
"code": "def snake_to_pascal(str)\n str.split('_').map.with_index { |word, index| \n word.capitalize \n }.join\nend\n\n# Usage:\nsnake_case = \"snake_case_to_pascal_case\"\nputs snake_to_pascal(snake_case) # Output: \"SnakeCaseToPascalCase\"\n"
208+
},
209+
{
210+
"title": "Truncate String",
211+
"description": "Truncates a string to a specified length, optionally adding an ellipsis.",
212+
"author": "ACR1209",
213+
"tags": [
214+
"string",
215+
"truncate"
216+
],
217+
"contributors": [],
218+
"code": "def truncate_string(str, max_length)\n return str if str.length <= max_length || max_length <= 3\n str[0, max_length - 3] + '...'\nend\n\n# Usage:\nlong_string = \"Ruby is a dynamic, open source programming language.\"\nputs truncate_string(20, long_string) # Output: \"Ruby is a dynamic...\"\nputs truncate_string(54, long_string) # Output: \"Ruby is a dynamic, open source programming language.\"\n"
219+
}
220+
]
221+
}
222+
]

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /