Ruby元编程的一些值得注意的地方

(编辑:jimmy 日期: 2025/2/27 浏览:2)

  避免无限循环的元编程。

    写一个函数库时不要使核心类混乱(不要使用 monkey patch)。

    代码块形式最好用于字符串插值形式。
        当你使用字符串插值形式,总是提供 __FILE__ 和 __LINE__,使得你的回溯有意义。

 class_eval 'def use_relative_model_naming"htmlcode">
 # from activesupport/lib/active_support/core_ext/string/output_safety.rb
 UNSAFE_STRING_METHODS.each do |unsafe_method|
  if 'String'.respond_to"htmlcode">
 # bad
 def method_missing?(meth, *args, &block)
  if /^find_by_(?<prop>.*)/ =~ meth
  # ... lots of code to do a find_by
  else
  super
  end
 end

 # good
 def method_missing?(meth, *args, &block)
  if /^find_by_(?<prop>.*)/ =~ meth
  find_by(prop, *args, &block)
  else
  super
  end
 end

 # best of all, though, would to define_method as each findable attribute is declared


一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。