www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - std.algorithm.startsWith only predicate

reply Freddy <Hexagonalstar64 gmail.com> writes:
How do you call startsWith with only a predicate
---
import std.algorithm;
import std.ascii;

bool iden(string str)
{
     return str.startsWith!(a => a.isAlpha || a == '_');
}
---
Oct 18 2015
next sibling parent reply Meta <jared771 gmail.com> writes:
On Sunday, 18 October 2015 at 17:48:20 UTC, Freddy wrote:
 How do you call startsWith with only a predicate
 ---
 import std.algorithm;
 import std.ascii;

 bool iden(string str)
 {
     return str.startsWith!(a => a.isAlpha || a == '_');
 }
 ---
Is this a simplified use case of some actual code you have? Otherwise, you can just do: bool iden(string str) { auto f = str.front; return f.isAlpha || f == '_'; }
Oct 18 2015
parent Freddy <Hexagonalstar64 gmail.com> writes:
On Sunday, 18 October 2015 at 17:58:30 UTC, Meta wrote:
 Is this a simplified use case of some actual code you have? 
 Otherwise, you can just do:


 bool iden(string str)
 {
     auto f = str.front;
     return f.isAlpha || f == '_';
 }
It's simplified, i wanted to check for empty
Oct 18 2015
prev sibling parent reply Jonathan M Davis via Digitalmars-d-learn writes:
On Sunday, October 18, 2015 17:48:18 Freddy via Digitalmars-d-learn wrote:
 How do you call startsWith with only a predicate
 ---
 import std.algorithm;
 import std.ascii;

 bool iden(string str)
 {
      return str.startsWith!(a => a.isAlpha || a == '_');
 }
 ---
startsWith doesn't have an overload that takes only a predicate. The existing overloads all require at least one "needle" to search for in the "haystack." An overload that doesn't require a needle could certainly be added, but there isn't one right now. - Jonathan M Davis
Oct 18 2015
parent reply =?UTF-8?B?Tm9yZGzDtnc=?= <per.nordlow gmail.com> writes:
On Sunday, 18 October 2015 at 21:44:57 UTC, Jonathan M Davis 
wrote:
 startsWith doesn't have an overload that takes only a 
 predicate. The existing overloads all require at least one 
 "needle" to search for in the "haystack." An overload that 
 doesn't require a needle could certainly be added, but there 
 isn't one right now.

 - Jonathan M Davis
https://github.com/D-Programming-Language/phobos/pull/3752
Oct 19 2015
parent =?UTF-8?B?Tm9yZGzDtnc=?= <per.nordlow gmail.com> writes:
On Monday, 19 October 2015 at 19:20:15 UTC, Nordlöw wrote:
 https://github.com/D-Programming-Language/phobos/pull/3752
Is merged now!
Jan 27 2016