建筑师编程指南之SketchUp插件开发 2 理解 API 文档
在 MixLab 群有用户求助,关于 casts_shadows 的代码,关键在于正确理解SketchUp 的 api 文档的写法:
1、 => 表示返回的值
#casts_shadows? ⇒ Boolean
2、 =(casts)表示需传入 casts_shadows 的参数
#casts_shadows=(casts) ⇒ Boolean
这里涉及到了 ruby 语言中以等号结尾的方法。在 ruby 中,以等号结尾的方法比较特殊,ruby 允许以赋值操作的语法来调用他们,练习下:
#定义一个类,mixLab类有方法name=,用来设置类的name属性。
class mixLab def name=(aName) @name = aName endendm= mixLab.new()
#等价写法 m=mixLab.newm.name=(‘shadow') p m# 等价写法 m.name = ‘shadow' p m
ps: p 为 puts 的简写。
再回过头来,练习下 cast_shadows 相关的代码:
model = Sketchup.active_modelselections = model.selectionputs selections[0].typenameselections[0].casts_shadows=true
status=(selections[0].casts_shadows=false)#p 是puts 的简写p selections[0].casts_shadows?
简短的练习,理解ruby等号结尾的方法~
*
知识星球
更多 sketchup 插件的开发,代码的下载,可以在知识星球交流。还包括:
1 看到一些好案例,关键技术解决方案,写出文章又不成体系,发星球;
2 我会在知识星球发一些非常机密的研究心得;
3 一些非常有技巧的知识,给付费用户;
4 公众号的迭代版本,针对文章发更为升级、核心的内容。
5 当然,还有资深的专家在星球里。
*
热门文章
*
关于公众号:
本公众号定期更新人工智能&设计&科技内容。
谈点设计,敲点代码,偶尔创作点人工智能实验产品。
码字不易,开启新的打赏方式: