Only the source functions in a .R file


I would like source() to only find and load functions within a .R file.

For example, in the file Analysis.R:

print.hw <- function() {
    print("hello world")

x <- 1 + 2

When I source("Analysis.R"), it will create the function print.hw but also assign x, which I do not want.

Anyone have any ideas? The best I could find was this question:

Source only part of a file

This works without using regex. It's also probably less computationally efficient than regex solutions. It creates a new environment, sources the entire file, then returns only the functions back to the global environment.

SourceFunctions<-function(file) {