Commit graph

633 commits

Author SHA1 Message Date
allupeng
8c3b8dcec4 doc : add a dot in hashmaps1.rs file to fill e.g. 2024-04-29 14:18:04 +08:00
allupeng
881d3e9441 doc : add a dot in structs3.rs file 2024-04-28 18:03:22 +08:00
mo8it
de0befef9c Update intro1 2024-04-27 23:37:17 +02:00
mo8it
0a2d4dae5a Merge branch 'main' 2024-04-24 15:48:29 +02:00
mo8it
5349f0e8d4 Add README to the quizzes directory 2024-04-23 15:32:01 +02:00
mo8it
ad8e544483 Move quizzes 2024-04-22 01:07:36 +02:00
mo8it
2f810a4da6 Clean up and unify exercises 2024-04-17 23:34:27 +02:00
mo8it
cb9f1ac9ce Require a main function in all exercises 2024-04-17 22:46:21 +02:00
mo8it
5c0073a948 Tolerate changes in the state file 2024-04-14 01:15:43 +02:00
mo8it
686143100f Update intro1 2024-04-11 02:55:58 +02:00
mo8it
fa1f239a70 Remove "I AM NOT DONE" and the verify mode and add AppState 2024-04-11 02:51:02 +02:00
YunShu
f714534393
docs: add more info in threads
info.toml: 

```toml
[[exercises]]
name = "threads3"
path = "exercises/threads/threads3.rs"
mode = "test"
hint = """
An alternate way to handle concurrency between threads is to use
a mpsc (multiple producer, single consumer) channel to communicate.
With both a sending end and a receiving end, it's possible to
send values in one thread and receive them in another.
Multiple producers are possible by using clone() to create a duplicate
of the original sending end.
See https://doc.rust-lang.org/book/ch16-02-message-passing.html for more info.
"""
```

threads3'hint contains this link, so it should be placed in Further Information
2024-04-08 22:07:26 +08:00
liv
ca07abf3dc
Merge pull request #1929 from mo8it/threads2
threads2: simplify the exercise
2024-03-31 16:22:54 +02:00
Dan
30273a6ee5
Merge branch 'main' into main 2024-03-29 18:29:38 +00:00
Daniel Somerfield
62afbb034f Move test array to be in test module as vec 2024-03-27 20:37:19 -07:00
mo8it
842e341895 threads2: simplify threads2 2024-03-27 21:24:36 +01:00
Mo
c7cf3720bd
Merge pull request #1799 from NicolasRoelandt/patch-1
Remove confusing aside in 23_conversions/from_str.rs
2024-03-27 17:28:35 +01:00
wznmickey
dd72429af4 Merge remote-tracking branch 'origin/main' 2024-03-28 00:11:19 +08:00
wznmickey
92183a74c4 chore: update the chapter of macros 2024-03-28 00:06:16 +08:00
Mo
34d04139cd
Merge pull request #1805 from paul-leydier/chapters-table
docs: sort exercise to book chapter mapping by exercise
2024-03-27 16:59:52 +01:00
Dan Bond
f2833c5279
options1: Update wording & fix grammar
Signed-off-by: Dan Bond <danbond@protonmail.com>
2024-03-18 16:47:15 -07:00
liv
9c6f56b836
Merge pull request #1903 from mo8it/threads3
Remove unneeded Arc
2024-03-18 18:43:30 +01:00
mo8it
71700c506c Remove unneeded Arc 2024-03-18 01:12:37 +01:00
liv
14ca4e8197
Merge pull request #1866 from guizo792/guizo792
docs: Added comment for handling equal numbers in if/if1.rs `bigger` function
2024-03-15 20:56:38 +01:00
guizo792
ae69f423cd
Update exercises/03_if/if1.rs
Co-authored-by: liv <shadows@with.al>
2024-03-15 17:36:28 +00:00
liv
d8ecf4bc2d fix: clean up "return" wording in iterators4 2024-03-15 15:01:39 +01:00
liv
244ec8fbf2
Merge pull request #1797 from 0Ahmed-0/typos
chore: fix a minor typo
2024-03-15 14:40:19 +01:00
liv
a449d39bdc
Merge pull request #1785 from parnavh/main
Cleaned Up Unused Mutability
2024-03-15 14:38:58 +01:00
liv
76acf613c5
Merge branch 'main' into main 2024-03-15 14:36:23 +01:00
liv
31e7920cee
Merge pull request #1869 from evanmiller2112/main
Clarify language in hashmap3.rs (sum vs per match)
2024-03-15 14:32:12 +01:00
liv
32c19c2e47
Merge pull request #1832 from reifenrath-dev/main
chore: update from_into.rs task description to fit the code
2024-03-15 13:52:38 +01:00
liv
c46a711526 fix: revert from_into test change 2024-03-15 13:48:57 +01:00
Ahmed
098ff228d7 chore: fix a minor typo 2024-03-13 00:39:45 +00:00
Evan Miller
19b5e24d5c
Update hashmaps3.rs description for clarity
I struggled with this exercise and didn't understand that it was looking for a summary of goals scored/conceded per team, instead of per match.

My goal here is just to clarify the language, essentially saying "the total number of goals the team scored" to indicate that we are looking for a sum.

Updated the exercise description to clarify this point.

Relates loosely to closed issue https://github.com/rust-lang/rustlings/issues/1361
2024-03-04 10:38:09 -05:00
Guizoul
1da82a0eab docs: Added comment for handling equal numbers in if/if1.rs bigger function 2024-02-28 14:19:05 +01:00
LeverImmy
bcb192c707 chore: fixed minor typo 2024-02-04 10:51:06 +08:00
reifenrath-dev
b70ed105db chore: update from_into.rs task description to fit the code 2024-01-19 11:18:54 +01:00
Sergei Gerasenko
93aef73eb5 Correct for more standard English 2024-01-09 10:17:03 -06:00
Paul Leydier
5453fad991 docs: sort exercise to book chapter mapping by exercise 2023-12-18 21:16:18 -05:00
NicolasRoelandt
f35f63fa57
Remove confusing aside in 23_conversions/from_str.rs
The advice tell us how to return as String error message. Unless I missed something, we can't even return a String error message here, so this advice is more confusing than anything and should better be removed.
2023-12-08 17:52:21 +00:00
parnavh
21b1e6ecf8 fix(move_semantics): removed unused mut 2023-11-22 22:06:17 +05:30
Daniel Somerfield
8bfe2ec71e Fix all_fruits_types_in_basket to fail if all fruit kinds are not included 2023-11-21 14:02:26 -08:00
Bastian Pedersen
3461c4f73d
Reword clippy1 exercise to be more readable 2023-11-12 11:39:14 +01:00
Tristram Oaten
2ac6606c6c fix(intro2): changed intro2 to be a name error, not a format string error. 2023-10-20 17:31:56 +01:00
markgreene74
3545c5a7a4 fix(intro1.rs): typo in the exercise body 2023-10-16 22:53:21 +01:00
Adam Brewer
64d95837e9 Update Exercises Directory Names to Reflect Order 2023-10-16 07:37:12 -04:00
Matt Nield
642aac6f43
chore(errors2): minor description wording change
This commit makes a minor change in the wording of the description of the errors2 exercise to avoid potential confusion, changing:

"A player of the game will type in how many items they want to buy, and the `total_cost` function will calculate the total cost of the tokens."
to
"A player of the game will type in how many items they want to buy, and the `total_cost` function will calculate the total cost of the items."
2023-10-13 15:47:38 -04:00
Ofir Lauber
83ac243c00 chore: fix comment in enums3.rs 2023-09-21 01:54:11 +03:00
liv
170aaabe9b
Merge pull request #1673 from husjon/fix-enums3-formatting
Fixed formatting of `enums3` with rustfmt
2023-09-18 10:07:39 +02:00
liv
2e48fe9cc7
Merge pull request #1675 from jurglic/fix-rand-typo
fix: test name typo
2023-09-18 10:05:37 +02:00
Luka Krmpotic
eb84eaf151 remove hint comments when no hint exists 2023-09-15 22:29:55 +02:00
Jurglic
a0699bd917 fix: test name typo 2023-09-14 17:10:06 +02:00
Jon Erling Hustadnes
0ee9c5b776 Fixed formatting with rust-analyzer 2023-09-13 20:26:47 +02:00
liv
e12504a61d
Merge pull request #1667 from husjon/update-primitive_types3-requirement
Make `primitive_types3` require at least 100 elements
2023-09-09 14:58:14 +02:00
Oscar Bonilla
33a4f4e454 Fix compiler error and clarify instructions 2023-09-08 09:49:11 -07:00
Jon Erling Hustadnes
a5e4133516
Make primitive_types3 require at least 100 elements
Made the function panic if it's not long enough
2023-09-08 16:42:16 +02:00
liv
4d04aad890
Merge pull request #1641 from mo8it/move-semantics5-test
Convert exercises with assertions to tests
2023-09-06 09:31:46 +02:00
liv
992e5163d3
Merge pull request #1565 from pksadiq/fix-enum3-message-modification
fix(enums3): modify message string in test
2023-09-04 14:37:44 +02:00
liv
c57ad35e5b
Merge pull request #1477 from bean5/main
small changes to a few README files
2023-09-04 14:35:15 +02:00
liv
abc3013096
Merge pull request #1660 from rust-lang/fix/move-semantics-tests
fix: refactor move semantics 1-4 into tests
2023-09-04 14:32:01 +02:00
liv
51e237d5f9 fix: refactor move semantics 1-4 into tests 2023-09-04 14:29:06 +02:00
liv
849e4a3647
Merge pull request #1599 from szabgab/if1-test-case
add test-case to if/if1 to check equal values
2023-09-04 13:55:10 +02:00
liv
c177507db3
Merge pull request #1610 from jrcarl624/patch-1
Updated if3.rs: Added a note that states that the test does not need to be changed.
2023-09-04 13:54:20 +02:00
liv
a09a0c47ae fix: add extra line in if3 comment 2023-09-04 13:53:54 +02:00
liv
6378c2a81f
Merge pull request #1620 from mkovaxx/fix_1611
Fix 1611
2023-09-04 13:51:57 +02:00
liv
2d1da2ab57
Merge pull request #1645 from mo8it/prober-types-structs3
Use u32 instead of i32
2023-08-29 10:20:36 +02:00
mo8it
9c0581bc0f Use u32 instead of i32 2023-08-29 00:52:11 +02:00
mo8it
193b600382 Convert other exercises that have assertions to test mode 2023-08-27 01:06:01 +02:00
mo8it
16936d95d1 Fix typo 2023-08-27 00:50:35 +02:00
mo8it
64224d3918 Make move_semantics5 a test 2023-08-27 00:48:19 +02:00
Ivan Vasiunyk
fa0463b3b2
fix(errors1): change Result to Option in exersise description 2023-08-25 21:49:22 +02:00
Kevin C
ad1c29c512 Fix comment in errors2 2023-08-14 12:49:28 -07:00
Mate Kovacs
720f33eee6 add .to_mut() in test owned_mutation() 2023-08-10 19:56:47 +09:00
Alon Hearter
2691a35102
Fix from_into.rs tests 2023-08-07 18:22:49 +03:00
Joshua Carlson
828e724659
Added note related to tests. 2023-08-01 13:33:32 -04:00
Marcus Höjvall
be8d1df8b9
chore(errors4): improved comment 2023-07-28 23:05:01 +02:00
Alexander González
ef8f1f108b
docs: dedup repeated sentence 2023-07-21 14:42:19 +02:00
Gabor Szabo
7f9f897945 add test-case to if/if1 to check equal values 2023-07-20 08:28:18 +03:00
Joshua Carlson
287172698a added if3 based on: Using if in a let Statement 2023-07-03 14:52:13 -04:00
Anish
eacf7db6f3
refactor: Update comment to use correct construct name 'Result' instead of 'Option'
Refactor the comment in the code to provide a more accurate description of the construct being used. Replace the mention of Option with Result.
2023-06-23 17:18:17 +05:45
Mohammed Sadiq
c5231f0ce3 fix(enums3): modify message string in test
Otherwise it won't actually test the change of state.message and
it would fail to check if the user missed changing state.message

This happened to me as I had a catch-all line in `match`
2023-06-16 13:50:54 +05:30
liv
b44472b237
Merge branch 'main' into comment_cleanup 2023-06-12 12:39:02 +02:00
liv
171d20ce3e
Merge pull request #1546 from b-apperlo/b-apperlo-patch-1
feat: added test function to hashmaps2.rs
2023-06-12 12:20:36 +02:00
liv
974717ca11
Merge pull request #1547 from b-apperlo/b-apperlo-patch-2
fix: update hashmaps3.rs
2023-06-12 12:18:36 +02:00
liv
0d2a1bdef1
Merge pull request #1549 from IVIURRAY/enums3-message-test
fix(enums3): add test for message
2023-06-12 12:17:07 +02:00
liv
369ae2e63d feat(move_semantics2): rewrite hint 2023-06-12 12:07:18 +02:00
IVIURARY
d0a1783083 fix(enums3): add test for message
closes #1548
2023-06-08 22:14:25 +01:00
Bert Apperlo
a4fe3602b2
fix: updated comment for struct 2023-06-08 16:46:45 +02:00
Bert Apperlo
8974e33f69
fix: update hashmaps3.rs 2023-06-08 16:44:39 +02:00
Bert Apperlo
bbfb4c7e63
feat: added test function to hashmaps2.rs
The existing test functions only check if a kind of fruit exists in the hashmap, but not if the amount of fruits is higher than zero. This new test function solves this.
2023-06-08 15:49:07 +02:00
Robert Fry
7eef5d15ee
docs: cleanup the explanation paragraphs at the start of each exercise. 2023-05-29 18:41:51 +01:00
lazywalker
9604ab6621 fix(exercises): use snake_case variables 2023-05-23 15:00:55 +08:00
liv
656140d9e6
Merge pull request #1478 from Ben2917/improved_tests_for_iterators5
fix: Added some extra tests to validate iterators5 solution
2023-05-17 16:14:29 +02:00
liv
a6f99645c6 chore: rustfmt 2023-05-17 16:02:39 +02:00
liv
81cd97902a
Merge pull request #1487 from lionel-rowe/patch-1
feat(options2): better test for layered_option
2023-05-17 15:56:55 +02:00
Noah May
3ecb47ff2c fix(options3): panic when not matching to avoid false positives
Closes #1503
2023-05-09 15:13:18 -05:00
Aaron Wang
d3fea5f15a
Merge branch 'main' into patch-2 2023-05-01 19:10:56 -04:00
PiqqiDesigns
c4627e7112 chore: clarified cow owned_no_mutation comments 2023-04-27 15:49:40 -07:00
lionel-rowe
836134202e
feat(options2): better tests for layered_option
The existing test can be solved with the following:

```rs
        while let Some(integer) = optional_integers.pop() {
            assert_eq!(integer.unwrap(), range);
```

Similarly with `expect(...)`, `unwrap_or(0)`, `unwrap_or_default()`, etc. However, none of these solutions use the learning point of stacking `Option<T>`s.

The updated test can _only_ be solved by stacking `Option<T>`s:

```rs
        while let Some(Some(integer)) = optional_integers.pop() {
            assert_eq!(integer, cursor);
```

With the updated test, using `unwrap` or `expect` will panic when it hits the `None` value, and using `unwrap_or` or `unwrap_or_default` will cause the final `assert_eq!(cursor, 0)`  to panic.
2023-04-21 06:05:25 +01:00
Alan Gerber
319a8253ba fix(move_semantics2): fix line number comment
Commit fef8314 added three lines of comments, which left the line
numbers expected to stay unchanged mentioned on line 2 out of date.
2023-04-20 12:15:31 -04:00
Your Name
352267871c fix: Added some extra tests to validate iterators5 solution
closes: #1387
2023-04-15 17:34:52 +01:00
bean5
15ae83f868 docs: Replace apostrophe (for consistency with other README files) 2023-04-13 20:32:18 -06:00
Aaron Wang
8ed2cf7ef5
Update move_semantics2.rs 2023-04-10 22:36:21 -04:00
Aaron Wang
c74e0bfd18
docs: update line numbers in move_semantics2 2023-04-07 01:56:20 -04:00
liv
087e076ec0
Merge pull request #1384 from stornquist/patch-1
fix(move_semantics2): add expected output comment
2023-04-05 13:10:57 +00:00
liv
ab6aa23cec
Merge pull request #1391 from ktheory/ktheory/iter5
docs: clarify instructions on iterators5.rs
2023-04-05 13:06:43 +00:00
liv
5fd3dfe01b
Merge pull request #1452 from guoard/markdown-linter
feat(docs): add markdown linter for exercises README.md files
2023-04-05 13:06:17 +00:00
poneciak
102d7f3d0e changed comments in tests
also fixed small logical issue in `Rectangle::new()` where u could create rectangle with width or height equals 0
2023-04-05 13:24:14 +02:00
poneciak
c4974ac782 added required changes
- fixed grammar in hint and added more specific link
- added comments in test functions
- changed introduction paragraph
2023-04-05 13:09:13 +02:00
poneciak
27b7579566 created task 2023-04-05 08:18:51 +02:00
Alexandre ESSE
22bb662d3e fix(exercises): remove trailing spaces 2023-03-31 11:58:15 +02:00
Ali Afsharzadeh
382e16eb7e feat(docs): add markdown linter for exercises README.md files 2023-03-30 19:53:22 +03:30
Ali Afsharzadeh
1db646474e
docs(error_handling): resolve markdown linter warnings 2023-03-29 21:13:27 +03:30
liv
92f09dbe81
Merge pull request #1445 from guoard/patch-1
docs(variables): wrap mut keyword with backtick
2023-03-28 10:26:32 +00:00
liv
e0e0b3f387
Merge pull request #1432 from ryanwhitehouse/main
docs:clarify instructions on hashmaps2.rs
2023-03-28 10:25:31 +00:00
Ali Afsharzadeh
592694036f
docs(variables): wrap mut keyword with backtick 2023-03-28 09:58:59 +03:30
liv
2012641610
Merge pull request #1428 from javihernant/changeLtReadme
change order of references in README.md
2023-03-26 13:23:02 +00:00
liv
864e741dd8 reword hashmaps2 a bit more 2023-03-26 15:21:21 +02:00
liv
6d4a87227d
Merge pull request #1437 from navicore/errors2-comment-error
correct comments in errors2.rs
2023-03-26 12:49:59 +00:00
Tom Kunc
d5449c992e
feat(lifetimekata): Add info about Lifetimekata project 2023-03-25 20:00:28 +11:00
Ed Sweeney
4160b06c6c correct comments in errors2.rs 2023-03-24 21:52:58 -07:00
Ryan Whitehouse
5687676014 docs:clarify instructions on hashmaps2.rs 2023-03-20 15:19:36 +01:00
hxztnxt
5d91c86cf2 change order of references in README.md 2023-03-16 00:56:15 +01:00
Adam Brewer
7bab78c66d Rename iteration var names in vec2.rs for clarity
Resolves #1417
2023-03-10 14:13:06 -05:00
liv
36e66b545e
Merge pull request #1396 from 0lhi/main
fix(macros4.rs): Add rustfmt::skip to prevent auto-fix.
2023-02-26 13:10:24 +01:00
Chad Dougherty
8c88f769b6
rustfmt
rustfmt converts "main ()" -> "main()"
2023-02-24 08:51:03 -05:00
0lhi
de24536187
macros4.rs: Add rustfmt::skip to prevent auto-fix.
The `macros4.rs` challenge can automatically be solved by rustfmt without the user noticing.

Adding `#[rustfmt::skip]` above the `macro_rules!` line fixes this issue.
2023-02-24 01:43:23 +01:00
Aaron Suggs
1ac66f372b docs: clarify instructions on iterators5.rs
I changed the sentence that referenced the imperative implementation in iterators5.rs.

That implementation was already removed and replaced with `todo!()`
2023-02-21 09:45:59 -05:00
Cyril MARPAUD
045d86aa42 refactor(arc1): improve readability by avoiding implicit dereference 2023-02-18 21:38:43 +01:00
Sebastian Törnquist
fef8314d3d
fix(move_semantics2): add expected output comment
You can easily get this to compile with `vec0` being `[]` and `vec1` being `[22, 44, 66, 88]`
2023-02-18 18:43:34 +01:00
Gleb Shevchenko
238a496af5 fix: unify undisclosed type notation in errors5.rs 2023-02-18 14:09:04 +01:00
Daan Wynen
bbdc5c6039 refactor(cow1): replace main with tests
Following the discussion in #1195 this is the best I could come up with.
The issue for me (and apparently a few other learners) was that the code
needed to complete the exercise was not _missing_, but was rather there
but wrong.

In the end, what made the difference between this exercise and others
(for me) was that in this exercise I was supposed to learn what to
*expect* of an output. So I think it makes sense here to let the learner
modify the tests and not the code itself.

Fixes #1195

Signed-off-by: Daan Wynen <black.puppydog@gmx.de>

# Conflicts:
#	info.toml
2023-02-14 20:37:33 +01:00
magnusrodseth
48ce9d2fd8 docs: add link to docs about iter_mut and map 2023-02-12 18:26:13 +01:00
liv
f123cb2777
Merge pull request #1228 from grzegorz-zur/patch-1
Removed unnecessary use statement
2023-02-12 16:54:43 +01:00
liv
7be4fd891d
Merge pull request #1305 from platformer/issue1298
fix(threads1): make program panic if threads are not joined
2023-02-12 16:50:03 +01:00
liv
b3de1b77bf
Merge pull request #1318 from kawaiiPlat/q2-minor-grammar
minor grammar tweak for quiz 2
2023-02-12 15:51:42 +01:00
liv
957522a492 feat(intro1): add note on rust-analyzer usage 2023-02-12 15:47:58 +01:00
Kevin Wan
4771a7b9e7
chore: fix prompt error
Missed a blank line, which causes the prompt incorrect like below:

```rust
You can keep working on this exercise,
or jump into the next one by removing the `I AM NOT DONE` comment:

 6 |  // Make this code compile by using the proper Rc primitives to express that the sun has multiple owners.
 7 |  
 8 |  // I AM NOT DONE
 9 |  use std::rc::Rc;
```
2023-01-23 12:16:51 +08:00
Jarrod Sanders
57834e9f8c
Minor Grammar 2023-01-03 09:22:52 -05:00
seporterfield
9860976af9
added existing chapter for clippy to mapping
It's real! https://doc.rust-lang.org/book/appendix-04-useful-development-tools.html
2023-01-01 02:34:58 +01:00
seporterfield
b2b6e6900f
reformatted exercise->chapter mapping
Added and removed rows according to changes to exercise order and grouping.
2023-01-01 02:29:45 +01:00
seporterfield
66eaaf7b6e
fixed formatting 2023-01-01 02:17:53 +01:00
seporterfield
3fad2a9c83
gave smart_pointers its own README.md 2023-01-01 02:17:23 +01:00
seporterfield
8405a61b07
moved iterator exercises 2023-01-01 02:02:49 +01:00
seporterfield
e3e298cfa2
moved iterator exercises 2023-01-01 02:02:15 +01:00
seporterfield
0f02a9b9af
moved iterator exercises 2023-01-01 02:00:36 +01:00
seporterfield
5b0d587c22
moved iterator exercises 2023-01-01 01:59:35 +01:00
seporterfield
e9dc52c2d3
moved iterator exercises 2023-01-01 01:58:57 +01:00
seporterfield
a0c5a892d3
refactoring standard_library_types as iterators 2023-01-01 01:58:04 +01:00
seporterfield
a8fd315e09
moved rc to smart_pointers 2023-01-01 01:52:47 +01:00