タグ

ブロックに関するhachiのブックマーク (2)

  • Ruby: ブロック変数の「シャドウイング」はシャドウイングなのかが気になって調べた(社内勉強会)|TechRacho by BPS株式会社

    誤りや見落としがありましたら@hachi8833までお知らせください🙇。 きっかけ オライリー「プログラミング言語Ruby」に以下の記述がありました。 同書p250より ここで言う「シャドウイング」が気になりました。Rubyでシャドウイングというと、次に書いたようなブロック変数(ここではx)がブロックの外のローカル変数をシャドウイングすることを指すと思っていたので。 元々インスタンス変数のシャドウイングについて書くつもりでしたが、先にブロック変数のシャドウイングについて調べることにしました。 Rubyの「ブロック変数によるシャドウイング」 以下はシャドウイングでよく引き合いに出されるブロック変数のシャドウイングです。 x = 42 3.times { |x| puts "x is #{x}" } ブロック{ |x| puts "x is #{x}" }内のxは、その外の名前のかぶったロー

    Ruby: ブロック変数の「シャドウイング」はシャドウイングなのかが気になって調べた(社内勉強会)|TechRacho by BPS株式会社
  • [Ruby] ブロック変数とブロック引数とProc引数の違い|TechRacho by BPS株式会社

    こんにちは、hachi8833です。 前回の『Rubyスタイルガイドを読む: 文法(5)ブロック、proc』を書いていて、ブロック変数/ブロック引数/Proc引数の違いが気になったので調べてみました。 ブロック変数(block variable)とブロック引数(block argument)は字面が似ています。実際、ネット上でブロック変数をブロック引数と呼んでいる記事をいくつかみかけました。 ブロック引数とProc引数(Proc argument)も音が似ているのでやはり少しまぎらわしいところがあります。 結論から言うと、文献によって用語が想像以上に違っており、追った限りでは公式ドキュメントでも定めきれませんでした。用法がこんなに揺れているとは思わなかった... はじめに: 用語について 今回調べていて、引数という言葉の難しさを痛感しました。 引数(argument)という言葉はよく使われ

    [Ruby] ブロック変数とブロック引数とProc引数の違い|TechRacho by BPS株式会社
  • 1