# File lib/rake.rb, line 270
270:       def [](task_name)
271:         task_name = task_name.to_s
272:         if task = TASKS[task_name]
273:           return task
274:         end
275:         if task = enhance_with_matching_rule(task_name)
276:           return task
277:         end
278:         if File.exist?(task_name)
279:           return Rake::FileTask.define_task(task_name)
280:         end
281:         fail "Don't know how to build task '#{task_name}'"
282:       end