Je suis en train d'écrire un programme pour lire des fichiers et rechercher du texte. J'ai écrit les premières étapes initiales. Dans le code ci-dessous, vous pouvez voir un symbole ** - **. Ceci où je veux passer la variable de membre de la classe [CurrentFile].[Ruby]: Passage d'une valeur de membre d'instance de classe à une autre fonction de classe
Veuillez également indiquer quelles améliorations je peux faire dans ce code.
class CurrentFile
attr_accessor :currentFileName, :currentFileContent
end
class OpenFile < CurrentFile
def OpenFileToRead() #Open file as read-only.
thisFile = File.open(** ----- **, 'r')
counter = 1
begin
file = File.new(thisFile, "r")
while (line = file.gets)
puts "#{counter}: #{line}"
counter = counter + 1
end
file.close
rescue => err
puts "Exception: #{err}"
err
end #End of Begin block
end #End of OpenFileToRead
end #End of Class: OpenFile
fileToRead = CurrentFile.new #Create instance of CurrentFile Class
fileToRead.currentFileName = "C:\WorkSpace\SearchText\abc.php" #Set file name to read
myFile = OpenFile.new #Create instance of OpenFile Class
Je ne sais pas quel est le problème que vous rencontrez, mais FYI, constructeurs en Ruby sont définis avec 'def initialize', et non 'def' –
Est-ce votre code actuel? L'erreur que vous avez dit que vous obtenez dans le commentaire de ma réponse ne devrait pas se produire avec ce code. – Chuck
@Chuck: Je suis d'accord. Mis à part le fait qu'il s'agit d'un code * horrible *, il fonctionne très bien lorsque vous le copiez et le collez dans un fichier et que vous l'exécutez. –