tools[:images][:exe][:exe] は tools[:images][:exe].call(:exe) と同義で
引数に意味は無いけどブロック実行されるのを利用したコードだと思われる。
さらに内部で一見再帰っぽく書かれているコードは単純に内部で定義したブロックを呼び出しているだけ。
def tools
{
users: {
exe: -> (arg) {
AnyClass.new(tools[:data][:list])
},
data: {
list: [1, 2, 3]
}
},
images: {
exe: -> (arg) {
tools[:users][:exe][:exe]
},
data: {
url: "./assets/image.png"
}
}
}
end
tools[:images][:exe][:exe]
使い方ヒント: 「これは臭う」という行を見付けたら、各行の
をクリックしてマーキングしておきましょう(要Twitter OAuth認証)
まだコメントがありません。最初にコメントを残しませんか?
コメント投稿には、twitter認証が必要です。
Twitter認証