
Crazy hyphenation - IN ITALIAN
Considerate il seguente programma crazy_hyphenation.go
. Questo programma implementa un nuovo e originale metodo di sillabazione. Il metodo consiste in questo: una sillaba è una sequenza massimale di caratteri consecutivi che rispettano l’ordine alfabetico. Per esempio, la parola ambire viene sillabata come am-bir-e: infatti la lettera a precede la lettera m, e le lettere b, i e r rispettano anch’esse l’ordine alfabetico. Il programma è dotato di una funzione divideIntoSyllables
che riceve come parametro una stringa e restituisce le sue sillabe sotto forma di una slice di stringhe. La funzione main
legge da riga di comando una parola e stampa le sillabe che la compongono.
package main
import (
"fmt"
"os"
)
func main() {
.Println(divideIntoSyllables(os.Args[1]))
fmt}
func divideIntoSyllables(word string) (syllableSlice []string) {
var prevLetter rune
var syllable string
for _, currLetter := range word {
if currLetter < prevLetter {
= append(syllableSlice, syllable)
syllableSlice = string(currLetter)
syllable } else {
+= string(currLetter)
syllable }
= currLetter }
prevLetter = append(syllableSlice , syllable)
syllableSlice return
}
Analizzate il codice sorgente e rispondete per iscritto alle domande che seguono.
- Il programma attraverso quale canale riceve i dati da elaborare?
- E le sillabe da stampare?
- La funzione
divideIntoSyllables
attraverso quale canale riceve i dati da elaborare? - Quanti e di che tipo sono i dati da elaborare che riceve la funzione
divideIntoSyllables
?