编程水平仅限于减小重复操作的工作量,回到 perl 这种主要面向过程的思维真好
https://gitee.com/crella/open/blob/master/goods.pl ,这是某个论坛的长回复的整理保存,没用到一个 Class,获取网页用的是 curl.exe。
之前那个四则运算计算器是我想歪了。主要是常见的 java python 都经常推荐面向对象设计,有时候我只是想摆脱这种思维
ruby 最 happy 除了嵌套的 end 太多容易串行
module Web
module Controllers
module Home
class Index
include Web::Action
def call(params)
print “开始写代码"
if params
else
end
end
end
end
end
end
Ruby 自带 eval() 函数:
12 Rby✎> $ufm = '2*(3+5.2/(1-6.5))';
13 Rby✎> eval $ufm
=> 4.109090909090909
可以这样写,就是 rubocop 的风格走偏了 (https://rubystyle.guide/#namespace-definition),没有因地制宜. 实际业务编程中,我们根本就不会去定义 Web、Controllers、Home 范围内的常量。
class Web::Controllers::Home::Index
include Web::Action
def call(params)
print "开始写代码"
if params
else
end
end
end
同理 Rails 的控制层嵌套也应写成这样,没有任何损失. 因为根本就不会去定义 Api, V1 级别的控制器常量,所以没有任何影响. 目前我就要求自己项目的人这样写,层级越少,越不容易达到每行 80 个字符的限制。
class Api::V1::UsersController < Api::V1::BaseController
......
end