Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Rake removes trailing whitespaces from parameters when task is being executed from command line.

Ouverte
#216 9 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
3/5
Temps estimé
1-2 jours
Accessibilité débutants
42/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
À l'abandon
Stack technique
ruby
Domaine
cli, tooling

Piste de recherche

Commencez par reproduire le comportement de la ligne de commande avec les exemples rake ws[...] fournis et comparez-le à l’invocation de Rake::Task dans la console. Suivez l’analyse des arguments de la tâche en ligne de commande ; le travail est terminé lorsque les espaces blancs en début et en fin des paramètres entre guillemets sont conservés, conformément à l’invocation directe et à ARGV.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Having a simple rake task:

  task :ws, [:str] => :environment do |t, args|
    puts args.str.inspect
  end

I get following results when run this task in command line:

  $ rake ws[' ']
  nil
  
  $ rake ws['    ']
  nil
  
  $ rake ws['    1']
  "    1"
  
  $ rake ws['    1    ']
  "    1"
  
  $ rake 'ws[ ]'
  nil
  
  $ rake 'ws[    ]'
  nil
  
  $ rake 'ws[    1]'
  "    1"
  
  $ rake 'ws[    1    ]'
  "    1"

While when the task is being invoked in rails console everything works as expected:

  2.3.3 :258 > Rake::Task['ws'].invoke(' ')
  " "
  2.3.3 :259 > Rake::Task['ws'].reenable
  2.3.3 :260 > Rake::Task['ws'].invoke('    ')
  "    "
  2.3.3 :261 > Rake::Task['ws'].reenable
  2.3.3 :262 > Rake::Task['ws'].invoke('    1')
  "    1"
  2.3.3 :263 > Rake::Task['ws'].reenable
  2.3.3 :264 > Rake::Task['ws'].invoke('    1    ')
  "    1    "

Again, it is definitely not the OS who is responsible for that trimming, since it shouldn't trim anything between quote marks. And besides it can be easily tested this way:

  task :ws, [:str] => :environment do |t, args|
    puts args.str.inspect
    puts ARGV[1].inspect
  end

then in command line:

  $ rake 'ws[  1  ]' '  2  '
  "  1"
  "  2  "

Rake version 12.0.0

some investigation on the issue https://stackoverflow.com/questions/45622716/rake-removes-trailing-whitespaces-from-parameters-how-to-prevent#answer-45623592

Langage dominant
Ruby
Étoiles
2.5k
Forks
651
Merge moyen
5 min
PR mergées (30 j)
4

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de ruby/rake

Toutes les issues de ruby/rake

Issues similaires

Plus d'issues Ruby

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.