大学里常常发生占位置的现象:头天晚上拿一本书放在课座上,表示位置已经被占了;第二天才来到这个座位上,翻开书正式上课.在这个现象中,“书本”充当了“占位符”的作用。
在Ruby语言中,yield是占位符:先在前面的某部分代码中用yield把位置占着,然后才在后面的某个代码块(block)里真正实现它,从而完成对号入座的过程.
#定义find
def find(dir)
Dir.entries(dir).each {|f| yield f} #获得dir目录下的文件名列表;对每个文件名,用yield来处理(至于怎么处理,还不知道,占个位置先^_^)
end
#使用find
find(".") do |f| #block开始
puts f #用输出文件名这个语句,真正实现了yield的处理(也可以用任何其他语句)
end #block结束
由此可见,yield属于定义层,属于宣告层,也就是在心里说一句:"这个位置不错,我先用书本占了再说!";而block属于使用层,实现层,也就是最终你坐在了你先前占的位置上,从而真正的实现了对号入座的过程.
最后,请大家不要问我"万一书本被偷了怎么办?"之类的问题,谢谢合作。
分享到:
- 2006-10-28 15:04
- 浏览 11849
- 评论(43)
- 论坛回复 / 浏览 (43 / 24372)
- 查看更多
相关推荐
- `%x`: 十六进制整数占位符。 ##### 列表 (List) 与元组 (Tuple) - **列表**: 是一种可变序列,可以存放任意类型的对象。列表使用方括号 `[ ]` 包围。 - 获取长度: `len(list)` - 访问最后一个元素: `list[-1]`...
27. `pass`: 空语句,占位符,不做任何事情。 28. `raise`: 抛出一个异常,如`raise ValueError('Error message')`。 29. `return`: 函数返回值,结束函数执行。 30. `True`: 布尔值之一,表示真。 31. `try`: 引入...
- **`%` 操作符**: 更加传统的方式,使用类似于 C 语言中的占位符进行字符串格式化。 - **`.format` 方法**: 更现代且灵活的方法,可以更好地控制格式化字符串。 - **示例**: ```python name = "Alice" age = ...
空语句,用作占位符或创建空块。 14. **is与==的区别**: is检查两个对象是否是同一个对象,==检查两个对象的值是否相等。 15. **垃圾回收机制**: Python自动管理内存,当对象不再被引用时,会自动回收。 16....
早期的`%s`格式化已被`str.format()`所取代,它使用`{}`作为占位符。例如,`s = "this is a sample {} {}".format("hello", "qjj")`。 Python中的交换变量值的方式很直观,如`x, y = y, x`,这一步骤会同时更新`x`...
- **定义**:Pass是一个空语句,主要用于充当占位符。 - **用途**:在代码中占位,表示此处将来会有代码但目前还未实现。 #### 十三、遍历器 - **定义**:遍历器是一个对象,可以用于遍历容器中的元素。 - **示例*...
- **pass**: 无操作语句,通常用作占位符或分隔符。 6. **数据类型**: - **Number**: 包括整型(int), 浮点型(float), 复数型(complex)和布尔型(bool)。 - **类型转换**: 可以使用`int()`, `float()`, `str()`等...
学会使用break和continue来控制循环流程,以及使用pass语句作为占位符。 3. **函数**:Python中的函数通过def关键字定义,可接受参数并返回值。函数可以有默认参数、可变参数(*args和**kwargs)以及关键字参数。...
- pass语句表示空操作,通常用作占位符。 4. **函数**: - 定义函数使用def关键字,返回值通过return语句。 - 参数传递可以是位置参数、关键字参数、默认参数和可变参数。 - lambda表达式用于创建匿名函数。 -...
25. **pass**: 空语句,不做任何事情,通常用于占位或创建占位符。 26. **raise**: 主动抛出一个异常,通常在检测到错误或特定条件时使用。 27. **return**: 从函数中返回值,没有`return`的函数默认返回`None`。 ...
- **知识点**:在PowerPoint 2003中,幻灯片母版中通常包含5-6个占位符,用于放置标题、文本、图片等内容。备注母版则包含较少的占位符,通常不超过5个。 #### 18. 字符串的属性检查 - **知识点**:在Python中,...
- `@yield` 用于在父模板定义占位符,子模板通过 `@section` 和 `@endsection` 填充内容。 7. **模型(Models)** - 模型代表数据库中的表,可以通过 Eloquent ORM 进行操作。 - 使用 `protected $fillable` 或 ...
`%s`是字符串格式化的一个占位符,用于指定一个位置,该位置上的值将会被转换为字符串形式插入到字符串中。这是一种早期的字符串格式化方式,在现代Python中更推荐使用`format()`方法或f-string。 ### Python函数...
- `str.format()` 方法用于格式化字符串,支持占位符。 - 正则表达式模块 `re` 提供了强大的文本匹配和替换功能。 10. **并发与异步编程**: - `threading` 和 `multiprocessing` 模块用于多线程和多进程编程。 ...
而在 Scala 中,列表推导可以通过 `for` 循环和 `yield` 关键字来完成,或者使用 `map` 函数配合匿名函数或占位符 `_` 来实现相同功能。 2. 模式匹配:Erlang 使用 `case` 语句进行模式匹配,可以检查类型并进行...
Promise是对计算结果的占位符,保证最终会知道某个计算的结果。Promise可以成功解决(resolve)或失败(reject),一旦状态确定,就不会再更改。创建新的Promise对象,需要提供一个解决和拒绝的函数,例如`new ...
使用 `@extends` 指令指定父视图,然后用 `@section` 定义内容区域,用 `@yield` 在父视图中定义占位符,子视图内容将被插入到这里。 3. **视图组件**:视图组件是可重用的视图片段,有助于实现代码复用和组织。...
- **pass语法**:空语句,起到占位符的作用。 2. **函数定义** - **定义函数**:使用`def`关键字定义函数。 - **函数参数**: - **定义参数变量**:可以接收任意数量的位置参数。 - **参数关键字**:根据...
- 形式参数:在函数声明中使用的占位符,用于接收实际传递的值。 - 实际参数:在调用函数时传递的值,与形式参数相对应。 - 参数可以是值类型(如int、bool)或引用类型(如object、string)。 4. **方法重载...
视图文件不包含业务逻辑,只包含HTML代码以及用于渲染数据的占位符。 **二、模板引擎** TP5采用Blade模板引擎,它允许开发者使用简洁的语法来组织和控制视图的结构。Blade支持条件语句、循环、部分视图、包含、...