Hacker News new | past | comments | ask | show | jobs | submit login

That about wanting to change mind... it touches a string! Somehow the let-downs must have been too much for me at a certain point in time. That being said, I'm curious to find out right now. Edit... no such thing found as string interpolation in cpp, at least not in my first 4 search hits. I'll crawl back.



String interpolation is currently blocked by:

- template-function parameters (NTTPs with a function parameter syntax rather than a template parameter syntax, tentatively spelled as `void foo(template int constant){}` )

- Scalable reflection, in combination with expansion statements (likely in C++26, spelled `template for (auto& e : array) {}` ) which would allow you to write an arbitrary parser for the template string into real C++ code. Reflection targets C++29.

Syntax2 already supports string interpolation as a special compiler feature.


std::string formatted_str = std::format( "My name is {} and my favorite number is {}", name, num);


That's really nothing like python strings, which for the same string would be

    formatted_str = f"My name is {name} and my favorite number is {num}"
The function call I could forgive, but the the ability to embed arbitrary python expressions into the f-string directly is a huge readability win IMO.


Meanwhile Perl's over here like "we had this in the 90s!" (:

eg:

    perl -e '$x="AAA"; print "lowercase: ${\(  lc($x)  )}\n"'


Of course posix shells gad that even before. How far we can go? What's the first language that had something that resembles string interpolation?


I'm sure someone here can say something about Lisp machines (:


Well, if that's the syntax, I'd rather not have it!


That type of interpolation is something most non-scripting languages don't have anyway, and it took Python several decades to get it, and only has had it in the 5 years or so.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: