gpt4 book ai didi

reflection - 运行时反射能做什么编译时不能做的事情?

转载 作者:行者123 更新时间:2023-11-29 08:19:34 26 4
gpt4 key购买 nike

我看到一些观点认为 Rust 和 M# 可能会选择编译时反射,因为运行时反射代价高昂并且会增加二进制文件的大小。到目前为止我找不到任何好的比较,只是一些认为运行时反射“很少是个好主意”的观点。似乎探索内置编译时反射概念的语言都还在发展中。

到目前为止我读过的资料:

最佳答案

这是一些 Ruby:

m = STDIN.gets.chomp

puts Object.respond_to?(m)

在编译时真的不可能做到这一点。我的意思是,用 CTFE ,您可以技术上在编译时运行此代码,但作为正在运行的程序的一部分,它不会真正起作用。

另一个有趣的:

$m = STDIN.gets.chomp

class Object
define_method $m do
puts "zomg"
end
end

class Foo; end

Foo.new.send($m)

这会打印“zomg”。

关于reflection - 运行时反射能做什么编译时不能做的事情?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24107233/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com