|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
Java编译的是字节码,跟C++相反,启动不够快,效率不够高,难以精确控制内存,但是优点是编程比C++容易,代码比较安全但是容易留下性能隐患,跨平台靠字节码在各个平台复制(一处编译到处调试)
在刚入手下手进修Rails的时分大概会狐疑于Rails时如何主动处置定名的,好比怎样依据一个名为Person的Model离开数据库中找到名为people的表,此次我们就来看看Rails里的定名商定。
1.夹杂巨细写,下划线,单数
我们常常利用简写定名变量,在Ruby中,商定为定名变量时,全体字母都小写,单词的两头利用下划线支解,类(Class)和Modules的定名有分歧,不利用下划线,单词的简写和首字母利用年夜写。以是我们在后面编写的代码里有order_status和LineItem如许的类名。
Rails利用如许的定名商定而且作了扩大。起首假定命据库中表名和变量定名一样,接纳全小写字母,而且单词两头利用下划线支解,而且标明都是单数情势的,比方:orders,third_parties。同时,Rails假定文件的定名也利用小写和下划线。
Rails依据这些商定主动举行名字的转换,比方,你的程序里也许包括一个Model类来操纵lineitem,你可使用Rails的定名商定,把这个类定名为LineItem,依据这个名字,Rails会作上面的揣度:
l 数据库里的表名为line_items。
l 在app/models目次下有一个line_item.rb文件。
Rails的把持器(Controller)的定名有别的的商定,假如你的程序里有一个store的Controller,Rails会作上面的揣度:
l 有一个类叫做StoreController,而且在app/controllers目次下有一个store_controller.rb文件。
l 在app/helpers目次中,有一个文件叫做store_helpers,内里的类名叫做StoreHelper。
l 在把持器对应的目次app/views/store来查找视图模板。
l 取得视图的输入,而且把他们转换到app/views/layouts目次下的store.rhtml大概store.rxml的结构模板中。
一般在ruby的代码中,我们利用require关头字来将一些文件中的类引进到以后的代码中,由于Rails晓得文件名和类名之间的干系,以是require关头字在Rails程序中不是必需的,在你援用一个不晓得名字的类大概module的时分,Rails将依据定名商定将类名转换成文件名,而且加载这个文件,效果就象你经由过程名字援用一个model,然后这个model主动被加载到程序中。
就象你所看到的,这个形式在类被存储到session中时被冲破了,在这类情形下我们要明白的声明他们,比方,我们在把持器(controller)里:
classStoreController<ApplicationController
model:line_item
在这里,定名规约还在利用,标志:line_item全体小写而且用下划线分隔,这会使line_item.rb文件被加载,而这个文件中包括有类LineItem。
<p>
还有就是总有人问我到底该学习什么语言,什么语言有前途,那么我的回答是不论是C,C++,java,.net,ruby,asp或是其他语言都可以学,编程的关键不是语言,而是思想。 |
|