markdown ブロックとPROCについて
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了markdown ブロックとPROCについて相关的知识,希望对你有一定的参考价值。
Rubyではメソッドを実行する時に引数としてブロック`do end`をつけて実行する関数がある。例えば`map`メソッドなど。
例えばmapメソッドを作成しようと思ったら、引数として受け取ったメソッドを実行させる必要がある。
それが`yield`、もしくは`call`で呼ぶやり方だ。
### メソッドの定義
```ruby
def hoge(&block)
# .callの場合
if not block.nil?
block.call "hogehoge"
end
# yieldの場合。
if block_given?
yield "hogehoge"
end
end
```
### 実行
```ruby
hoge do |text|
puts text
end
# -> hogehoge
```
## Proc
またブロックとは`Proc`オブジェクトである。以下のようにしても同様の処理ができる
```ruby
# Proc.new
sample_proc = Proc.new do |text|
puts text
end
# lambda
sample_lambda = -> (text) {
puts text
}
hoge &sample_proc
hoge &sample_lambda
```
以上是关于markdown ブロックとPROCについて的主要内容,如果未能解决你的问题,请参考以下文章
markdown 树莓派について
markdown pytorchについての情报
markdown Terraformについて调べた
markdown 对于ループの挙动について
markdown 亚马逊网络服务について调べた结果
ruby ブロックを处理する关数を书く