今天刚看了 ruby 元编程,很有灵感
#if i can break into your heart...
girl.instance_eval{@lovers.clear << :me} if !girl.love?(:me)
Kernel.send(:define_method,:puts,proc{|s|print "I love you\n"})
puts "hello world"
#It's not a bug.I just want you to know...
哈,大家都很 nice~~ 虽然今天只是混个脸熟~但见到了论坛各位的真人赶脚还是很不错的,哈哈哈哈哈
尊重、发挥空间、培训学习、弹性的工作时间 毕业后希望能找到这样的工作机会啊~~嘿嘿·····
话说今天天又阴了··· 大家带伞啊!
上次活动没去成,太遗憾了 ```` 表示这次要过去!
#4 楼 @poshboytl ruby 真的好灵活啊 ```` 没有 attr_writer 也能改变属性~ #6 楼 @lyfi2003 引用~原来如此~学习了哈~~~
应该就是说 a.replace 只改变变量的内容 而赋值则是重新实例化了一个变量
综合了下代码~这样应该就更清楚了
class AAA
attr_reader :a
def initialize()
@a="sss"
puts "ini a:#{a},obj_id:#{a.object_id}"
end
end
a=AAA.new
puts "new a:#{a.a},obj_id:#{a.a.object_id}"
a.a.replace("test")
puts "replace a:#{a.a},obj_id:#{a.a.object_id}"
puts "#####################"
a = b = "123"
puts "a:#{a},obj_id:#{a.object_id} b:#{b},obj_id:#{b.object_id}"
a.replace("456")
puts "a:#{a},obj_id:#{a.object_id} b:#{b},obj_id:#{b.object_id}"
a = "789"
puts "a:#{a},obj_id:#{a.object_id} b:#{b},obj_id:#{b.object_id}"
执行结果:
ini a:sss,obj_id:75208020
new a:sss,obj_id:75208020
replace a:test,obj_id:75208020
#####################
a:123,obj_id:75207890 b:123,obj_id:75207890
a:456,obj_id:75207890 b:456,obj_id:75207890
a:789,obj_id:75207750 b:456,obj_id:75207890
文档里面这么说"Replaces the contents and taintedness of str with the corresponding values in other_str." taintedness 这个大概应该就是引用关联的其他变量的意思吧(= =|||,有点别扭)
准大三,嘿嘿 #19 楼 @jimrokliu
#24 楼 @jimrokliu 我也想问这两个问题,发现已经有童鞋问过了
今天没能过去
表示要每天运动,坚持锻炼~
~学生能参加不?
@ery 很赞同~~ 要做自己喜欢的事情 人生苦短啊,何必再不喜欢的事情上浪费太多时间
光标在 NERDTree 中按 m,里面有文件操作 R,可以刷新光标所在目录~
@southwolf 哈,了解了
@ywencn = = soga`````