Autore Topic: Compitino per casa sulla Concatenazione delle Stringhe  (Letto 1691 volte)

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.724
  • Ne mors quidem nos iunget
    • Mostra profilo
Compitino per casa sulla Concatenazione delle Stringhe
« il: 25 Novembre 2016, 23:58:52 »
Ecco il nuovo compitino:

Posto questo codice sulla concatenazione di due o più stringhe:
Codice: [Seleziona]
Public Sub Main()

  Dim s1, s2 As String
 
    s1 = "aaa"
    s2 = "bbb"
   
'  1^ modalità:
      Print s1 & s2

End
mostrate ogni altra possibile modalità per concatenare le stringhe contenute nelle due variabili s1 e s2 riportate nell'esempio.
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:Compitino per casa sulla Concatenazione delle Stringhe
« Risposta #1 il: 26 Novembre 2016, 13:22:06 »
A me vengono in mente solo queste:
Codice: [Seleziona]
' Gambas module file

Public Sub Main()

  Dim s1, s2 As String
 
    s1 = "aaa"
    s2 = "bbb"
   
'  1^ modalità:
      Print s1 & s2
      '============
      Print s1; s2
      'Print s1, s2 'questa penso non valga
      Print Subst(("&1&2"), s1, s2)

End
Ma immagino ce ne saranno parecchie...
 :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.724
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Compitino per casa sulla Concatenazione delle Stringhe
« Risposta #2 il: 26 Novembre 2016, 14:54:55 »
      'Print s1, s2 'questa penso non valga
No, perché non produci una concatenazione formale delle due stringhe in una sola: hai solo un effetto visivo somigliante nella Console.

Precisiamo dunque che si deve ottenere un'unica stringa da porre in una variabile.
Insomma come fosse:
Codice: [Seleziona]
Dim s1, s2, unica As String

   unica = s1 & s2
« Ultima modifica: 26 Novembre 2016, 22:07:09 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:Compitino per casa sulla Concatenazione delle Stringhe
« Risposta #3 il: 26 Novembre 2016, 20:40:51 »
      'Print s1, s2 'questa penso non valga
...in fondo, sì, il risultato è coerente con quanto richiesto; però questo lo è solo nel caso in cui si deve scrivere con Print nella Console.

Precisiamo dunque che si deve ottenere un'unica stringa da porre in una variabile.
Insomma come fosse:
Codice: [Seleziona]
Dim s1, s2, unica As String

   unica = s1 & s2

Allora io sono rimasto ad una sola concatenazione
Codice: [Seleziona]
unica =  Subst(("&1&2"), s1, s2)

Altri modi?
 :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:Compitino per casa sulla Concatenazione delle Stringhe
« Risposta #4 il: 26 Novembre 2016, 21:39:09 »
Questo non so se è valido:
Codice: [Seleziona]
Public Sub Main()

  Dim s1 As String = "aaa"
  Dim s2 As String = "bbb"
  Dim unica As String[] = [s1, s2] 
 
  Print unica[0]; unica[1]

End

 :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.724
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Compitino per casa sulla Concatenazione delle Stringhe
« Risposta #5 il: 26 Novembre 2016, 22:05:42 »
Questo non so se è valido:
Codice: [Seleziona]
  Print unica[0]; unica[1]

No, perché non ottieni una concatenazione effettiva in un'unica stringa delle due stringhe originarie (hai solo un effetto visivo che sembra essere un'unica stringa).
« Ultima modifica: 09 Gennaio 2017, 16:28:04 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:Compitino per casa sulla Concatenazione delle Stringhe
« Risposta #6 il: 27 Novembre 2016, 13:58:14 »
Questa me l'aveva spiegata Top Fuel ma visto che se la deve essere dimenticata  :P la posto io:
Codice: [Seleziona]
Public Sub Main()

  Dim s1 As String = "aaa"
  Dim s2 As String = "bbb"
  Dim unica As String
  unica = s2
  Mid$(unica, 1, 0) = s1
 
  Print unica
 
End
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.724
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Compitino per casa sulla Concatenazione delle Stringhe
« Risposta #7 il: 29 Novembre 2016, 00:19:11 »
......nessun altro propone qualcosa ?    :-\
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline gianfry56

  • Gambero
  • **
  • Post: 78
    • Mostra profilo
Re:Compitino per casa sulla Concatenazione delle Stringhe
« Risposta #8 il: 29 Novembre 2016, 12:01:23 »
Se vogliamo un altro esempio (inutile e complicato):

Codice: [Seleziona]
  Dim s1, s2 As String
  Dim unica As String = ""
  Dim i As Integer
 
  s1 = "aaa"
  s2 = "bbb"

  For i = 1 To Len(s1)
    unica &= Mid(s1, i, 1)
  Next
  For i = 1 To Len(s2)
    unica &= Mid(s2, i, 1)
  Next

  Print unica


ripeto: inutile e complicato  :D

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.724
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Compitino per casa sulla Concatenazione delle Stringhe
« Risposta #9 il: 29 Novembre 2016, 16:14:13 »
Se vogliamo un altro esempio
E' apprezzabile l'impegno e l'ingegno, però hai utilizzato l'operatore & di concatenazione delle stringhe. Operatore, che ho già utilizzato nell'esempio introduttivo all'inizio.

« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:Compitino per casa sulla Concatenazione delle Stringhe
« Risposta #10 il: 29 Novembre 2016, 16:31:13 »
Ahi Gianfry56,
ora chissà che voto ti rifila!  ;D

 :D :ciao:

« Ultima modifica: 29 Novembre 2016, 16:31:52 da Gianluigi »
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.724
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Compitino per casa sulla Concatenazione delle Stringhe
« Risposta #11 il: 29 Novembre 2016, 16:39:48 »
ora chissà che voto ti rifila!  ;D
Certamente superiore a quello di chi ha letteralmente sprecato le variabili vettoriali di tipo String[ ]:
Codice: [Seleziona]
Dim unica As String[] = [s1, s2]  

in questo modo:    :violent:
Codice: [Seleziona]
  Print unica[0]; unica[1]
avendo invece un'altra interessante modalità per le mani !


« Ultima modifica: 29 Novembre 2016, 16:41:32 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:Compitino per casa sulla Concatenazione delle Stringhe
« Risposta #12 il: 29 Novembre 2016, 17:06:32 »
A me che sono il genio l'unico (più o meno) che può usare 
Codice: [Seleziona]
Mid$(unica, 1, 0) = s1
'or'
unica =  Subst(("&1&2"), s1, s2)

Qui sotto potete ammirare io che bacia se stesso

 :-*

 :P :P :P
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.724
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Compitino per casa sulla Concatenazione delle Stringhe
« Risposta #13 il: 29 Novembre 2016, 17:26:49 »
A me che sono il genio l'unico (più o meno) che può usare 
Codice: [Seleziona]
Mid$(unica, 1, 0) = s1

Ma quella non te l'aveva spiegata Top Fuel ?    :violent:

Questa me l'aveva spiegata Top Fuel ...
Codice: [Seleziona]
Mid$(unica, 1, 0) = s1
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:Compitino per casa sulla Concatenazione delle Stringhe
« Risposta #14 il: 29 Novembre 2016, 17:42:01 »
Si, si sempre a cercare il pelo nell'uovo...

 :specchio:

Occorrerà un'icona per san pelo  :bad:

 :P :P :P
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro