配置 Git 的换行符处理和安全性:
-
git config --global core.autocrlf input:这个设置确保在提交代码时,Git 会将 CRLF(Windows 的换行符)转换为 LF(Unix 的换行符),但在检出代码时不做转换。这通常用于在 Unix/Linux 环境中开发,但仍需处理 Windows 的换行符。 -
git config --global core.safecrlf true:这个设置启用安全检查,防止在提交时出现不一致的换行符。如果文件中混合了不同的换行符(如 CRLF 和 LF),Git 会发出警告,确保代码的一致性。
在 hello 目录中创建一个名为 hello.rb 的文件
.rb 文件是 Ruby 编程语言的文件扩展名。Ruby 是一种面向对象的脚本语言,常用于开发 Web 应用程序、自动化脚本、数据处理等。.rb 文件通常包含用 Ruby 编写的源代码。
在 .rb 文件中,可以编写各种 Ruby 语法的代码
puts "Hello, World"
这个代码会输出 "Hello, World",其中 puts 是 Ruby 用于输出内容到终端的一个方法。
要运行 hello.rb 文件,需要确保你已安装了 Ruby,然后在终端中执行以下步骤:
1. 安装 Ruby
如果你还没有安装 Ruby,可以根据操作系统安装:
-
在 macOS 或 Linux 上:
你可以使用包管理器安装 Ruby。- 在 macOS 上使用 Homebrew:
brew install ruby - 在 Linux 上使用包管理器(如 Ubuntu):
sudo apt-get install ruby
- 在 macOS 上使用 Homebrew:
-
在 Windows 上:
你可以使用 RubyInstaller 来安装 Ruby。
2. 运行 hello.rb 文件
假设你已经安装了 Ruby,并且当前在 hello.rb 所在的目录下,你可以通过以下命令运行文件:
ruby hello.rb
执行这个命令后,终端会输出:
Hello, World
这说明你的 Ruby 脚本运行成功!
创建 Rakefile
1. 使用 echo 命令(简单的方式)
echo "#!/usr/bin/ruby -wKU
task :default => :run
task :run do
require './lib/hello'
end" > Rakefile
2. 使用 touch 和编辑器(推荐方式)
-
运行以下命令创建一个空的
Rakefile文件:touch Rakefile -
使用文本编辑器(如
vim、nano、code)打开文件并编辑:- 使用
vim:vim Rakefile - 使用
nano:nano Rakefile - 使用 VS Code:
code Rakefile
- 使用
-
在编辑器中输入以下内容:
#!/usr/bin/ruby -wKU task :default => :run task :run do require './lib/hello' end -
保存并关闭文件。
3. 为 Rakefile 添加执行权限(可选)
如果你希望 Rakefile 可以直接执行,还可以为它添加执行权限:
chmod +x Rakefile
这样就成功创建并添加了 Rakefile。
定义一个简单的 Greeter 类
class Greeter
def initialize(who)
@who = who
end
def greet
"Hello, #{@who}"
end
end
代码解读
-
类定义
Greeter:class Greeter:定义了一个名为Greeter的类。
-
构造方法
initialize:def initialize(who):initialize是 Ruby 类的构造方法(相当于其他语言中的构造函数),在创建Greeter类的新实例时被调用。@who = who:@who是一个实例变量,存储了传入的who参数的值,表示要问候的对象。
-
方法
greet:def greet:定义了一个实例方法greet,用于返回问候语。"Hello, #{@who}":方法返回一个字符串"Hello, ...",其中#{@who}是 Ruby 中的字符串插值语法,用来嵌入实例变量@who的值到字符串中。
-
结束类和方法定义:
end:结束方法greet的定义。- 再一个
end:结束Greeter类的定义。
使用示例
你可以像这样使用 Greeter 类:
g = Greeter.new("World")
puts g.greet
输出:
Hello, World
Greeter.new("World"):创建一个新的Greeter对象,传入"World"作为who参数。g.greet:调用greet方法,将会返回"Hello, World"。
这段代码展示了 Ruby 面向对象编程(OOP)的基本特性,包括类定义、构造方法和实例方法。










