runby方法入门

本文介绍了Ruby中方法的定义及使用方式,包括基本方法、带有默认参数的方法、使用块的方法、参数数量不确定的方法以及关键字参数方法。通过示例展示了不同场景下方法的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

方法的定义

def showName(name)
   puts name
end

showName("黄忠")
黄忠

方法默认值

def showName(name0,name1="关羽",name2="张飞")
   puts name0,naem1,naem2
end

showName("刘备")
刘备
关羽
关羽

自定义方法

def myloop
while true
yield # 执行块
end
end
num = 1 # 初始化num
myloop do
puts "num is #{num}" # 输出num
break if num > 100 # num 超过 100 时跳出循环
num *=2 # num 乘2
end

参数不确定的方法

用“* 变量名”的形式来定义参数个数不确定的方法

def a(a, *b, c)
[a, b, c]
end
p a(1, 2, 3, 4, 5) #=> [1, [2, 3, 4], 5]
p a(1, 2) #=> [1, [], 2]

关键字参数方法

def area2(x: 0, y: 0, z: 0)
xy = x * y
yz = y * z
zx = z * x
(xy + yz + zx ) * 2
end
p area2(x: 2, y: 3, z: 4) #=> 52
p area2(z: 4, y: 3, x: 2) #=> 52 (改变参数的顺序)
p area2(x: 2, z: 3) #=> 12 (省略y)
### Jest 入门教程 #### 什么是 Jest? Jest 是一个由 Facebook 开发的 JavaScript 单元测试框架,它提供了简单易用的 API 和强大的特性来帮助开发者编写高质量的测试代码。其主要特点包括快速运行、内置断言库和支持异步代码测试。 --- #### 安装 Jest 为了使用 Jest 进行前端自动化测试,首先需要安装 Jest 及其相关依赖项。可以通过 npm 或 yarn 来完成安装: ```bash npm install --save-dev jest ``` 或者 ```bash yarn add --dev jest ``` 这会将 Jest 添加到项目的开发依赖中[^2]。 --- #### 配置 Jest 创建 `jest.config.js` 文件以自定义 Jest 行为。以下是一个简单的配置示例: ```javascript module.exports = { verbose: true, testEnvironment: 'node', }; ``` 此配置启用了详细的日志输出并指定了 Node.js 环境作为默认环境[^2]。 --- #### 编写第一个测试案例 假设有一个名为 `example.js` 的源文件,其中包含如下函数: ```javascript // src/example.js function sum(a, b) { return a + b; } module.exports = { sum }; ``` 可以为其编写相应的测试文件 `example.test.js` 如下所示: ```javascript // __tests__/example.test.js const { sum } = require('../src/example'); test('测试加法', () => { expect(sum(1, 2)).toBe(3); }); ``` 这里通过调用 `expect()` 函数验证实际返回值是否等于预期值 `3`[^3]。 --- #### 测试其他工具函数 如果还有更多工具函数(如减法、乘法和除法),也可以按照类似方式扩展测试覆盖范围: ```javascript // tools.js function sum(a, b) { return a + b; } function sub(a, b) { return a - b; } function mul(a, b) { return a * b; } function div(a, b) { if (b === 0) throw new Error('Division by zero'); return a / b; } module.exports = { sum, sub, mul, div }; // tests/tools.test.js const { sum, sub, mul, div } = require('./tools'); test('测试各种运算', () => { expect(sum(1, 2)).toBe(3); expect(sub(10, 5)).toBe(5); expect(mul(2, 3)).toBe(6); expect(div(10, 2)).toBe(5); // 测试异常情况 expect(() => div(10, 0)).toThrow('Division by zero'); }); ``` 这段代码展示了如何利用 Jest 提供的功能全面地测试不同类型的逻辑。 --- #### 异步代码的测试方法 对于涉及 Promise 或 async/await 的异步代码,Jest 支持多种方式进行测试。例如: ```javascript // src/api.js async function fetchData() { return await Promise.resolve({ data: 'response' }); } module.exports = { fetchData }; // tests/api.test.js const { fetchData } = require('../src/api'); test('测试异步数据获取', async () => { const result = await fetchData(); expect(result).toEqual({ data: 'response' }); }); test('测试未解析状态下的Promise', () => { return fetchData().then((data) => { expect(data).toEqual({ data: 'response' }); }); }); ``` 以上两种形式均可有效处理异步场景中的测试需求[^1]。 --- #### 执行测试 完成上述设置后,在终端输入以下命令即可触发测试流程: ```bash npx jest ``` 或者将其添加至 `package.json` 中 scripts 节点以便简化操作: ```json { "scripts": { "test": "jest" } } ``` 之后只需运行 `npm run test` 或者 `yarn test` 就能自动执行所有测试用例。 --- #### 总结 本文介绍了 Jest 的基本概念以及从安装到实践的具体步骤,涵盖了同步与异步代码的不同测试技巧。希望这些内容能够帮助您顺利开启 Jest 学习之旅! ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值