学习ruby需要多长时间才能学习ruby?
开发人员学习
ruby需要多长时间.并开发像stackoverflow这样的生产网站?一般.
如果开发人员具有.NET经验但没有ruby和MYSQL或PostgreSQL经验. 解决方法
我在.net工作了大约3 – 4年,和
java工作了3年,现在我在铁路商店工作.
学习基本语法很简单.围绕一些概念包围你需要更长的时间.作为一个清单 >实例变量如何工作和设置(与c#非常不同) 这是简单的事情.在那之后,你想要学习更多这些东西 >了解更常用的语言级回调(如method_missing和included) 很难说这需要多长时间.对我来说,第一部分花了大约一个月玩ruby和阅读书籍.下半场可能更像是三四个(尽管那里也有铁杆学习) 至于MySQL / pg,它不像你必须从头开始.工具不如SSMS(imo,MS堆栈中最好的部分)那么好,但它足以让你顺利通过.如果使用rails,大部分数据库内容都会被抽象掉.如果你需要检查数据库中的某些内容,那么十分之九会启动一个脚本/控制台并只使用ActiveRecord api(这个世界太惊人了) 编辑: 对象个性化意味着每个对象实例都是它自己的“东西”,它基于一个类,但可能不仅仅是那个类.这里有些例子 首先,我们建立一个班级 irb(main):001:0> class TestClass irb(main):002:1> def tc irb(main):003:2> puts 'testclass method' irb(main):004:2> end irb(main):005:1> end => nil 现在我们实例化它两次 irb(main):006:0> t1 = TestClass.new => #<TestClass:0x7fea78ee6f78> irb(main):007:0> t2 = TestClass.new => #<TestClass:0x7fea78ed6ba0> def一个只在t2上的方法 irb(main):008:0> def t2.only_on_t2 irb(main):009:1> puts 'this will not be accessible anywhere else' irb(main):010:1> end => nil irb(main):011:0> t1.only_on_t2 NoMethodError: undefined method `only_on_t2' for #<TestClass:0x7fea78ee6f78> from (irb):11 from :0 irb(main):012:0> t2.only_on_t2 this will not be accessible anywhere else => nil 重新定义从类中提取的方法,但仅限于t1 irb(main):013:0> def t1.tc irb(main):014:1> puts 'redeffing something picked up from the class' irb(main):015:1> end => nil irb(main):016:0> t1.tc redeffing something picked up from the class => nil irb(main):017:0> t2.tc testclass method => nil 上面的代码是非常罕见的,因为在另一种方法中有一堆内联方法定义内容通常非常难看.使用特定实例混合模块非常强大,尤其是考虑到鸭子类型时. irb(main):018:0> module TestModule irb(main):019:1> def tm irb(main):020:2> puts 'this is where it gets interesting' irb(main):021:2> end irb(main):022:1> end => nil irb(main):023:0> t2.extend TestModule => #<TestClass:0x7fea78ed6ba0> irb(main):024:0> t2.tm this is where it gets interesting => nil irb(main):025:0> t1.tm NoMethodError: undefined method `tm' for #<TestClass:0x7fea78ee6f78> from (irb):25 from :0 irb(main):026:0> t1.is_a? TestModule => false irb(main):027:0> t2.is_a? TestModule => true 这是更先进的东西,也是你应该达到的最后一件事,但有些情况下,做一个动态扩展是一个更优雅的解决方案,然后替代品(这是一个替代品)与大多数高级ruby一样的常见警告,不要这样做,因为你可以,只在你需要的时候这样做) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |