Come si accede alle variabili definite in un file incluso?Accesso alle variabili dai file inclusi in Ruby
risposta
Non è possibile accedere a un locale esterno all'ambito in cui è stato definito: il file in questo caso. Se vuoi le variabili che attraversano i confini dei file, rendili qualcosa di diverso dai locali. $foo
, Foo
e @foo
funzioneranno tutti.
Se proprio non si vuole mettere alcun tipo di decorazione sul simbolo (perché non ti piace il modo in cui legge, forse), un hack comune è solo per definirlo come un metodo: def foo() "bar" end
.
Ho accettato la risposta di Chuck perché è una soluzione decente, tuttavia in realtà ho usato un metodo diverso, che pensavo di condividere. È incredibilmente hacky, ma è stato utile per i miei scopi. Avevo bisogno di scansionare una directory con centinaia di file, ognuno dei quali creava un oggetto con lo stesso nome, e poi scaricava alcune informazioni su ogni oggetto. Per qualsiasi scopo serio e non temporaneo, I non lo raccomanderebbe!
foo = ""
eval File.open('inc.rb').read
puts foo # "bar"
Di solito li definisco come metodi. Simile a ciò che ha detto nickf.
File1:
def static_path
'/opt/foo'
end
File2:
static_path
Poi basta aggiungere una:
require_relative 'file path/file name'
o require_relative 'file name'
< = se i file sono in stessa directory.
al file in cui si desidera utilizzare il metodo/variabile.
- 1. Accesso alle variabili statiche
- 2. Estendi modulo e accesso alle variabili delle classi?
- 3. Accesso alle variabili Maven Pom dal file delle proprietà
- 4. Accesso alle variabili di configurazione da altri file di configurazione
- 5. Perl: accesso alle variabili "my" da un altro file
- 6. Carica la console file su rotaie con accesso alle variabili definite in questo file
- 7. Accesso alle variabili JavaScript con Selenium IDE
- 8. Accesso alle variabili dalla classe interna
- 9. Symfony2 Accesso alle variabili di percorso
- 10. Accesso alle variabili di configurazione Devise
- 11. Modelli T4 - evitare le righe vuote dai file inclusi
- 12. Accesso alle variabili di ambiente in AWext Beanstalk ebextensions
- 13. Accesso alle variabili private in Java tramite la riflessione
- 14. Stranezze di accesso alle variabili in un derivato QObject
- 15. Accesso alle variabili di classe ereditate in java
- 16. Symfony2: accesso alle variabili definite in config.yml e config _ *. Yml
- 17. Accesso alle variabili membro di una classe in Python?
- 18. Accesso alle risorse JAR
- 19. accesso variabili variabili nidificate in ansible
- 20. Accesso alle variabili di istanza di Rails Controller nei CSS
- 21. iOS: accesso alle variabili app-info.plist nel codice
- 22. Qual è il modo corretto per accedere alle variabili di classe in Ruby 1.9?
- 23. Accesso al file crittografato pgp in Ruby
- 24. Accesso ai file impacchettati in Ruby Gem
- 25. Hamlet accesso automatico alle variabili nel campo di applicazione
- 26. Accesso alle variabili di sessione al di fuori del servlet
- 27. Accesso alle variabili del template di ramoscello da php
- 28. Accesso alle variabili locali all'interno di un generatore Python
- 29. Accesso alle singole variabili di array nella funzione PHP
- 30. Accesso alle variabili di ambiente da Android Studio gradle build