entropie: /Ruby - eingabe

Hallo Forumer,

Ich habe vor nen kleinen Taschenrechner zu coden. Dabei habe ich -- wie könnte es auch anders sein -- ein problem.
Ich habe keinerlei ahnung wie ich in Ruby eingaben machen kann die _ohne_ return beended werden.

Sobald nach einer Zahl ein bestimtes operationszeichen (+|-|*|/) eingeben wurde soll das programm losrechnen, das zwischenergebnis anzeigen und auf weitere eingaben warten (zahlen, operationszeichen oder ein '=').

Ich bin mir sicher das es da eine möglichkeit gibt, aber wie?

Mfg entropie

--
Whenever people agree with me I always feel I must be wrong.
  -- Oscar Wilde
  1. Hallo entropie,

    Ich bin mir sicher das es da eine möglichkeit gibt, aber wie?

    http://www.rubycentral.com/ref/ref_c_io.html#read
    http://www.rubycentral.com/ref/ref_c_io.html#readchar
    http://www.rubycentral.com/ref/ref_c_io.html#sysread

    Grüße,
     CK

    --
    Der Geist ist alles. Du wirst, was du denkst.
    http://wwwtech.de/
    1. Hallo Christian

      http://www.rubycentral.com/ref/ref_c_io.html#read
      http://www.rubycentral.com/ref/ref_c_io.html#readchar
      http://www.rubycentral.com/ref/ref_c_io.html#sysread

      Soweit war ich schon, allerdings warten diese methoden auf return.
      Folgende lösung fals jemand mal vor dem gleichen problem steht.

      module SetEnv

      Stty_save = stty -g.chomp

      # set terminal to RAW
        def self.start
          system("stty raw")
        end

      # set terminal to default again
        def self.clean
          system "stty", Stty_save
        end

      self.start

      at_exit do
          self.clean
        end
      end

      Ist nicht gerade sauber ich weiss...

      Mfg entropie

      --
      Whenever people agree with me I always feel I must be wrong.
        -- Oscar Wilde
      1. Hallo entropie,

        Soweit war ich schon, allerdings warten diese methoden auf return.

        Ach richtig, du musst das Terminal buffering noch ausstellen. Mit “pure ruby” wuesste ich
        allerdings auch nicht, wie das zu machen ist.

        Grüße,
         CK

        --
        Ganz gleich, welchen Weg ich wähle, ich kehre heim.
        http://wwwtech.de/