Proc.new do|arg|
arg.each do |x|
puts x
end
end.call([1,2,3,4,5])
上記のようなものを無名関数と理解しているのですが、
これを下記の様にすると、
Proc.new {|arg|
arg.each do |x|
yield(x)
end
}.call([1,2,3,4,5]) do |x|
puts x
end
no block given
とエラーになってしまいます。
無名関数で、ブロック付きメソッドって作れないものでしょうか?
ご指導の程、宜しくお願いいたします。
No.2ベストアンサー
- 回答日時:
lambda do |arg, &block|
arg.each do |x|
block.call(x)
end
end.call([1,2,3,4,5]) do |x|
puts x
end
こんな感じでどうでしゅうか?Proc.newの変わりにlambda使ってますが、procでも同じです。
No.4
- 回答日時:
何度もすいません。
追記です。Proc.new=lambda=proc見たいな感じでつかってしまいまいたが、
細かい挙動は違いますので注意してください。
誤解を与えそうだったので・・・。
↓以下を参考にして下さい。
Ruby Proc.newとlambdaの違い(追記) - ソースコード備忘録
http://d.hatena.ne.jp/yuki_rinrin/20090831/12517 …
参考URL:http://d.hatena.ne.jp/yuki_rinrin/20090831/12517 …
toby_jpさん、ご回答有難うございました。
Proc.newとlambdaの挙動の違い、頂いた参考ページなどで
確認しておきます。
ご丁寧にありがとうございました。
No.3
- 回答日時:
書き忘れてました。
コードが、ちょっと不自然な感じがする?ので、
もしよければどんなことがしたいか言っていただいたほうがいいかもしれません。
もっとスマートな方法が見つかるかと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excelで下記のようにマクロを作ったところ、一回目は実行できたのですが、二回目以降「実行時エラー1 1 2022/03/25 08:08
- Visual Basic(VBA) あるフォルダーのファイルを違う親フォルダーのサブフォルダーに移したい 11 2023/02/15 19:00
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Visual Basic(VBA) vba GetAsyncKeyState関数について 1 2023/08/24 12:08
- 中学校 Do you want a new bag? Want you a new bag? この二つの違い 3 2022/07/30 15:55
- Visual Basic(VBA) FileSearch2007に変わる構文について 1 2022/12/16 16:57
- Visual Basic(VBA) Excel VBAについて、 フォルダ内のファイルを全て開きたい場合、 FSOを使えば、Dirは使わ 1 2023/01/27 13:18
- Visual Basic(VBA) VBA GetAttrについて教えてください 2 2022/12/22 15:25
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- 数学 ダミー変数での相関係数の算出にやり方(疫学の分析手法について) 14 2023/03/17 11:46
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
三項でたとえば交換って
-
教えてください
-
再起動後必ず2つのエラーが出...
-
ビーリアルのユーザー名を変え...
-
C言語の入力した文字を反転させ...
-
パソコンのスクリーンセーバー...
-
pythonエラー
-
英数字を含む文字列(0-9,A-Z)...
-
100万件越えCSVから条件を満た...
-
VBA メモ帳の上書き保存がしたい
-
文字コードのエラー
-
WinSCPで画像のように puttyを...
-
VBScriptでExcel(2019)上のデー...
-
Accessで文字列のバイト数読み込み
-
【メモリ不足で落ちる(python)】
-
パイソンエラーについて
-
符号付整数の演算結果を答えよ ...
-
pandasでsqlite3にテーブル作成...
-
IDLE.Shell 3.10.0
-
(再質問)エクセルのマクロボ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「arg」は何の略?
-
Ruby Selenium 要素の待機
-
VBA/GetTickCountの49.7日の境...
-
pythonのプログラミング
-
Rubyでクラスファイルをディレ...
-
例外の再スロー時に、その原因...
-
get() と find() の違いについて
-
パイソンのクラス
-
No route matches [GET] "/post...
-
A1の値をファイル名に指定した...
-
エクセルVBA オートフィルタで...
-
Rubyについて質問です
-
エラー「メソッドまたはデータ...
-
VBAで型が一致しないエラー(バ...
-
教えてください。vb5.0
-
Csvファイルの最終行を取得する...
-
クラス名やモジュール名の競合...
-
HSTLやSSTL等のI/Oピン
-
10円未満を切り捨てる方法は?
-
What class are you in? には何...
おすすめ情報