digitalmars.D.learn - How to use UFCS and std.algorithm.sort?
- Andre (21/21) Mar 10 2015 Hi,
- Tobias Pankrath (1/3) Mar 10 2015 buildin arrays have a .sort-property that is called.
- Jonathan M Davis via Digitalmars-d-learn (6/24) Mar 10 2015 .sort on an array is going to use the built-in sort property. You need t...
- Andre (4/36) Mar 10 2015 Thanks a lot!
- =?UTF-8?B?QWxpIMOHZWhyZWxp?= (14/18) Mar 10 2015 Didn't know that. Nice!
Hi, with the new beta I get the warning I should use std.algorithm.sort instead the .sort property. I thought the std.algorithm.sort method is used in this example? void main() { import std.algorithm: sort, uniq, map; import std.array: array; string[] arr = ["A","B","B","C"]; string[] result = arr .map!(n => n) // minified .array .sort .uniq .array; } I want to use the sort template with the default less "a < b" without specifying !("a < b") Kind regards André
Mar 10 2015
.array .sortbuildin arrays have a .sort-property that is called.
Mar 10 2015
On Tuesday, March 10, 2015 07:24:52 Andre via Digitalmars-d-learn wrote:Hi, with the new beta I get the warning I should use std.algorithm.sort instead the .sort property. I thought the std.algorithm.sort method is used in this example? void main() { import std.algorithm: sort, uniq, map; import std.array: array; string[] arr = ["A","B","B","C"]; string[] result = arr .map!(n => n) // minified .array .sort .uniq .array; } I want to use the sort template with the default less "a < b" without specifying !("a < b").sort on an array is going to use the built-in sort property. You need to use parens if you want to use the function in std.algorithm with an array and UFCS, e.g. arr.sort(); - Jonathan M Davis
Mar 10 2015
Thanks a lot! Kind regards André On Tuesday, 10 March 2015 at 08:40:28 UTC, Jonathan M Davis wrote:On Tuesday, March 10, 2015 07:24:52 Andre via Digitalmars-d-learn wrote:Hi, with the new beta I get the warning I should use std.algorithm.sort instead the .sort property. I thought the std.algorithm.sort method is used in this example? void main() { import std.algorithm: sort, uniq, map; import std.array: array; string[] arr = ["A","B","B","C"]; string[] result = arr .map!(n => n) // minified .array .sort .uniq .array; } I want to use the sort template with the default less "a < b" without specifying !("a < b").sort on an array is going to use the built-in sort property. You need to use parens if you want to use the function in std.algorithm with an array and UFCS, e.g. arr.sort(); - Jonathan M Davis
Mar 10 2015
On 03/10/2015 01:40 AM, Jonathan M Davis via Digitalmars-d-learn wrote:.sort on an array is going to use the built-in sort property. You need to use parens if you want to use the function in std.algorithm with an array and UFCS, e.g. arr.sort();Didn't know that. Nice! Another option is to use renamed imports[1] but it is hard to come up with an acceptable name other than sort: import std.algorithm: algSort = sort, uniq, map; // <-- HERE // ... string[] result = arr .map!(n => n) // minified .array .algSort // <-- HERE .uniq .array; Ali [1] http://dlang.org/module.html
Mar 10 2015