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() {
fmt.Println(divideIntoSyllables(os.Args[1]))
}
func divideIntoSyllables(word string) (syllableSlice []string) {
var prevLetter rune
var syllable string
for _, currLetter := range word {
if currLetter < prevLetter {
syllableSlice = append(syllableSlice, syllable)
syllable = string(currLetter)
} else {
syllable += string(currLetter)
}
prevLetter = currLetter }
syllableSlice = append(syllableSlice , syllable)
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
divideIntoSyllablesattraverso quale canale riceve i dati da elaborare? - Quanti e di che tipo sono i dati da elaborare che riceve la funzione
divideIntoSyllables?
