v2: Changed SplitPath to return an object when no output parameters are passed. (Approach 3.) #296
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.
Rationale
SplitPath
backport used in AHK v1.)A_ScriptName
will remain as currently defined in AHK v2, it will be a modifiable custom dialog title, not a consistent script file name, thereforeSplitPath(A_ScriptFullPath).Name
would be the AHK v2 equivalent of AHK v1'sA_ScriptName
.Implementation
This approach creates 5 (or fewer) strings, as individual internal variables, and outputs them either to variables, or to an object.
At present, the internal
SplitPath
function always returns OK.(The external function returns a blank string as before, else an object.)
See also:
Attempt 1. #276.
Attempt 2. #289. (This was fixed with a 2nd commit, not shown in the PR description.)
Attempt 3. This PR. Third time lucky? (This PR passes the same test code as in #289.)
(Attempts 2 and 3, differ, but both have good ideas.)
(There are just so many approaches and minor considerations.)
If any major changes are needed for the code, and a separate commit is created, that's fine, I don't need to be credited.
I would look forward to seeing the main dev's implementation. Warm regards.