---
# System prepended metadata

title: Ruby 模組化

---

# Ruby 模組化
將程式寫在不同的檔案，在嵌入到主要的檔案中使用

創建一個say_hello的功能檔案，並儲存名為say_hello.rb的檔案

用require或load的方式將檔案導入到另一個要使用該功能的檔案中

say_hello.rb的功能檔案
```ruby=
def say_hello
  puts "hi"
end
```

main.rb (require)
```ruby=
require './say_hello'

say_hello 
```


main.rb (load 要副檔名)
```ruby=
require './say_hello.rb'

say_hello 
```
:::info
require vs load

require '(檔案.rb)' 副檔名可要可不要，只會載入一次
load '(檔案.rb)' 要副檔名，load幾次就會載入幾次
:::

