Fix handling of double dashes (--) in crystal eval command #15474
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request has two fixes to the behavior of the eval command.
1 double dash issue
Expected behavior
Actual behavior
Workaround
By using two double dashes, you can pass arguments to the program as expected.
The reason for this behavior is that the OptionParser stops at “--” by default, and removes “--”. Therefore, you need to use unknown_args to distinguish between arguments that were before “--” and arguments that were after “--”.
In the forum, I received a comment that this is probably not the intended behavior.
2 join arguments with “;” instead of “”.
Expected behavior (for kojix2)
Actual behavior
Personally, I feel that this behavior is preferable.
In many programming languages, only one argument is accepted.
In Ruby, multiple arguments are accepted.
However, if the opinion that the current behavior should be maintained for compatibility or other reasons is stronger, I can fully understand that.
Also, there are no tests for this pull request. If tests are necessary, please let me know where and what kind of tests should be written.