Dart tulostus allekkain

  • Keskustelun aloittaja Keskustelun aloittaja SagaL
  • Aloitettu Aloitettu
Liittynyt
08.09.2023
Viestejä
1
Apuva!

Pitäisi saada syötetyt arvot tulostumaan käänteisessä järjestyksessä allekkain.
Käänteisessä järjestyksessä onnistuu helposti, mutta allekkain....
Allekkain...???

import 'dart:io';

main() {
var lista = [];

while (true) {
var syote = stdin.readLineSync();

if(syote == '') {
break;
}

lista.add(syote);
}

print(lista.reversed);

}

Mistä ihmeestä tähän löytyy ohjesivua?
Apuva!
 
Koodi:
import 'dart:io';

main()
{
    var lista = [];

    while (true) {
        var syote = stdin.readLineSync();

        if(syote == '') {
            break;
        }

        lista.add(syote);
    }

    print(lista.reversed);

}

Tässä viestin kirjoitusboksissa on erikseen tagit koodille, että sen saa luettavaan muotoon. Löytyy tuosta hymynaaman oikealta puolelta.

Käänteisessä järjestyksessä onnistuu helposti, mutta allekkain....
Allekkain...???
Tulostamalla yhen merkin kerrallaan ja rivinvaihdolla saa tulostettua alekkain. Ehkä pitää myös varmistaa, ettei lista lopu ja yritä tulostaa olematonta arvoa.

EDIT: Lista-luokan toiminnot (esim. reversed, length) löytyy tältä sivulta: List class - dart:core library - Dart API
 
En oo dartilla ikinä mitään tehnyt, mutta pikatsekillä syntaksista tuossa nyt yksi vaihtoehto, jossa ei tarvitse murehtia listan indekseistä:

Koodi:
var list = [1, 2, 3, 4];

list.reversed.forEach((value) => print(value));

Eli ymmärtäisin tuon niin, että halutaan vaan iteroida tuo käyttäjältä kerätty lista (muoks. siis käänteisessä järjestyksessä) ja käyttää print-funktiota, joka tulostaa arvot rivinvaihdon kanssa yksitellen konsoliin. En tiedä ottaako oppimateriaali sit mahdollisesti kantaa siihen, millä tavalla tuo iterointi pitäs tehdä ja oliko tarkoitus reenata esim. nimenomaan noita indeksiperusteisia looppeja.

Spoilereissa tosiaan tuota listan reversed -funktiota hyödyntäen. Toinen vaihtoehto olisi käyttää listan indeksejä ja iteroida kerätty lista loppuindeksistä alkuun.

Jos koko listalle sanoo print, niin silloin saa tekstimuotoisen esityksen koko siitä listasta (menemättä nyt kovin syvälle siihen, miten Dart mahdollisesti käsittelee sen onko listan objekteilla aina joku järkevä tekstimuotoinen esitys).
 
Viimeksi muokattu:

Statistiikka

Viestiketjuista
276 419
Viestejä
4 757 789
Jäsenet
77 473
Uusin jäsen
JP18347

Hinta.fi

Back
Ylös Bottom