digitalmars.D.learn - char e string em linguagem D
Pessoal eu fiz o seguinte programa em C++. https://pastebin.com/CvVv6Spn porem tentei fazer o equivalente em D mas nao entendi muito bem... https://pastebin.com/2xw9geRR alguem poderia me ajudar?
Jul 13 2017
On Thursday, 13 July 2017 at 21:49:40 UTC, dark777 wrote:Pessoal eu fiz o seguinte programa em C++. https://pastebin.com/CvVv6Spn porem tentei fazer o equivalente em D mas nao entendi muito bem... https://pastebin.com/2xw9geRR alguem poderia me ajudar?Se acepta utilizar intervalos en lugar de punteros desnudos. (Hola, soy traductor de google) import std.stdio, std.string; //https://www.vivaolinux.com.br/script/GNU-que-bacana class GnuQueBacana { this(){} char[] stalman() { return cast(char[])` ((__-^^-,-^^-__)) *---*******---* *--|o o|--* \ / ): :( (o_o) - https://www.gnu.org `; } char[] torvald() { return cast(char[])` #lllllllllll #lllllllllllll #lllllllllllll OOO#llllllllll#OOO OOOOOO#llllll#OOOOOO OOOOOOO#llllll#OOOOOOO https://www.kernel.org `; } string stallman() { return ` ((__-^^-,-^^-__)) *---*******---* *--|o o|--* \ / ): :( (o_o) - https://www.gnu.org `; } string torvalds() { return ` #lllllllllll #lllllllllllll #lllllllllllll OOO#llllllllll#OOO OOOOOO#llllll#OOOOOO OOOOOOO#llllll#OOOOOOO https://www.kernel.org `; } }; void main() { GnuQueBacana gnu = new GnuQueBacana(); writeln(gnu.stalman(), gnu.torvald(), gnu.stallman(), gnu.torvalds()); }
Jul 13 2017
On Thursday, 13 July 2017 at 22:30:29 UTC, crimaniak wrote:On Thursday, 13 July 2017 at 21:49:40 UTC, dark777 wrote: char[] stalman() { return cast(char[])` ((__-^^-,-^^-__)) *---*******---* *--|o o|--* \ / ): :( (o_o) - https://www.gnu.org `; }Never cast a literal to char[]. modifying the resulting char[] will lead to AV, at least under linux. `.dup` the literal if you really needs char[].
Jul 13 2017
On Thursday, 13 July 2017 at 22:36:47 UTC, Basile B. wrote:...return cast(char[])`Never cast a literal to char[]. modifying the resulting char[] will lead to AV, at least under linux. `.dup` the literal if you really needs char[].Hmm, yes, my bad. Probably, it was necessary even for this simple example to write const char[].
Jul 14 2017
On Thursday, 13 July 2017 at 22:30:29 UTC, crimaniak wrote:On Thursday, 13 July 2017 at 21:49:40 UTC, dark777 wrote:muito massa nao achei que era tao simples assim..Pessoal eu fiz o seguinte programa em C++. https://pastebin.com/CvVv6Spn porem tentei fazer o equivalente em D mas nao entendi muito bem... https://pastebin.com/2xw9geRR alguem poderia me ajudar?Se acepta utilizar intervalos en lugar de punteros desnudos. (Hola, soy traductor de google) import std.stdio, std.string; //https://www.vivaolinux.com.br/script/GNU-que-bacana class GnuQueBacana { this(){} char[] stalman() { return cast(char[])` ((__-^^-,-^^-__)) *---*******---* *--|o o|--* \ / ): :( (o_o) - https://www.gnu.org `; } char[] torvald() { return cast(char[])` #lllllllllll #lllllllllllll #lllllllllllll OOO#llllllllll#OOO OOOOOO#llllll#OOOOOO OOOOOOO#llllll#OOOOOOO https://www.kernel.org `; } string stallman() { return ` ((__-^^-,-^^-__)) *---*******---* *--|o o|--* \ / ): :( (o_o) - https://www.gnu.org `; } string torvalds() { return ` #lllllllllll #lllllllllllll #lllllllllllll OOO#llllllllll#OOO OOOOOO#llllll#OOOOOO OOOOOOO#llllll#OOOOOOO https://www.kernel.org `; } }; void main() { GnuQueBacana gnu = new GnuQueBacana(); writeln(gnu.stalman(), gnu.torvald(), gnu.stallman(), gnu.torvalds()); }
Jul 13 2017