Recent Changes - Search:

Oktatás

* Programozás 1
  + feladatsor
  + GitHub oldal

* Szkriptnyelvek
  + feladatsor
  + quick link

Teaching

Programming 1 (BI)
  ▸ exercises
  ▸ quick link

teaching assets


Félévek

* 2025/26/2
* archívum


Linkek

* kalendárium
* tételsorok
* jegyzetek
* szakdolgozat / PhD
* ösztöndíjak
* certificates
* C lang.
* C#
* D lang.
* Java
* Nim
* Nim2
  + exercises
* XC=BASIC
* old
  ✦C++, ✦Clojure, ✦Scala


[ edit | logout ]
[ sandbox | passwd ]

Read a string from the stdin

Let's mimic Python's input() function.

(1) input()
def main():
    name = input("Name: ")  # no extra newline char.
    print(f"Hello {name}!")
import std.stdio;
import std.string; // readln(), chomp()

string input(const string msg = "")
{
    write(msg);
    // chomp() removes the trailing newline
    return readln().chomp();
}

void main()
{
    string name = input("Name: ");
    writefln("Hello %s!", name);
}

Output:

Name: Lac
Hello Lac!

If you call input() in an infinite loop and the user presses Ctrl+D, you can get stuck in an infinite loop where only a Ctrl+C would help. Here is how to notice if the user pressed Ctrl+D:

(2) notice Ctrl+D
import std.stdio;
import std.string; // readln(), chomp()

class EOFException : Exception
{
    this(string msg = "")
    {
        super(msg);
    }
}

string input(const string msg = "")
{
    write(msg);
    auto line = readln();
    if (line is null) // if Ctrl+D was pressed
    {
        throw new EOFException();
    }
    return line.chomp();
}
Cloud City

  

Blogjaim, hobbi projektjeim

* The Ubuntu Incident
* Python Adventures
* @GitHub
* heroku
* extra
* haladó Python
* YouTube listák


Debrecen | la France


[ edit ]

Edit - History - Print *** Report - Recent Changes - Search
Page last modified on 2025 September 02, 13:44