Mám program scala, kde ako vstup príkazového riadku beriem „t“.
Vo vnútri programu chcem rozdeliť reťazec na základe oddeľovača odovzdaného z príkazového riadku.
val splitter = args(0).charAt(0)
if(splitter == "t")
println("true")
else
println("false")
Toto vytlačí slovo „nepravda“ a rozdeľovač „“.
Vyššie uvedená metóda funguje pre „,“ oddeľovač čiarky.
Prosím, navrhnite, ako môžem odovzdať tabulátor alebo akýkoľvek iný oddeľovač ako parameter príkazového riadku a použiť ho na účely rozdelenia.
odpovede:
1 pre odpoveď č. 1Je to preto, lebo ak zadávate „t“ na príkazovom riadku, prichádza ako dvojznakový reťazec t
, nie karta s jedným znakom. Ak chcete robiť to, čo chcete, nemôžete vziať iba prvý znak (charAt(0)
) pretože vám bude chýbať t
. Namiesto toho ho budete musieť prekonvertovať z reťazca t
na znak tabulátora.
Jednoduchý spôsob:
val splitter = args(0) match {
case "\t" => "t"
case x => x.head // same as x.charAt(0)
}