Questions tagged «ruby»

有关Ruby的问题,它是结合了Perl启发的语法和类似Smalltalk的功能的动态,反射,通用的面向对象的编程语言。

3
LISP的宏在哪些方面比Ruby的创建DSL的“能力”更好?
使Ruby发光的一件事是能够更好地创建特定于域的语言,例如 西纳特拉 规格 耙 Ruby on Rails的ActiveRecord 尽管可以通过宏在LISP中复制这些库,但我认为Ruby的实现更为优雅。尽管如此,我认为在某些情况下LISP的宏可以比Ruby的宏更好,尽管我想不到。 那么,LISP的宏在哪一个领域比Ruby创建DSL的“能力”(如果有)更好? 更新 我之所以这样问,是因为现代编程语言正在接近LISP的奇点,例如 C获得了宏扩展预处理器,尽管非常原始并且容易出错 C#具有属性(尽管这是只读的),通过反射公开 Python增加了装饰器,尽管感觉很有限,但它可以修改函数的行为(以及v 3.0的类)。 Ruby TMTOWTDI,如果应用得当,则可以使用Ruby方式制作精美的DSL。 我想知道LISP的宏是否仅适用于特殊情况,而其他编程语言功能是否强大到足以提高抽象度来应对当今软件开发中的挑战。
21 ruby  lisp  dsl 

1
最好的Ruby Git库?
Ruby中最好使用哪个Git库? Git,沙砾,坚固,其他? 背景:我是TicGit-ng的当前维护者,这是一个基于git构建的分布式脱机票务系统,而且我一遍又一遍地听到并听到,Grit是我应该使用的,因为它取代了Git gem,但是似乎缺少文档或缺少功能是因为我自己和其他人未能尝试从已弃用但功能正常的Git切换到较新的Grit宝石。
21 ruby  git 

8
Ruby:不良部分[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 此问题是从Stack Overflow 迁移而来的,因为可以在Software Engineering Stack Exchange上回答。 迁移 8年前。 我最近阅读了Crockford的书“ Javascript:好的部分”,其中一个基本前提是,编程语言可能具有程序员应避免的不良功能。 我是一名Rubyist,尽管我喜欢这种语言,但获取观点总是有价值的。那么,您认为Ruby最糟糕的功能(例如方法,类,实践)是什么?我的目的不是在就语言本身的优缺点或其速度等问题争论不休。相反,我希望根据过去的经验,讨论您认为哪些功能会带来危险/麻烦/痛苦的功能。
20 ruby 

7
经验丰富的Ruby on Rails开发人员是否使用脚手架?
在Ruby on Rails教程中,我读到一些文章,建议有经验的开发人员不要使用脚手架,因为他们倾向于只编写代码自行连接MVC。 在另一个地方,我读到使用脚手架是个好主意,因为它可以帮助您遵守约定,以便其他查看您的代码并与您的代码进行交互的人都可以理解您在做什么。 我是Ruby on Rails的新手,但不是MVC或Web应用程序的新手-我通常应该努力遵循脚手架约定并让它指导我吗?


5
Python开发人员在学习Ruby时应该知道什么?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 6年前关闭。 我从事Python程序员工作大约18个月,其中包括一次实习和一些附带项目,我认为自己对这种语言非常满意。 但是,在编程领域似乎对Ruby有很多关注,但对Python则不再关注。 因此,在学习Ruby时,是否会有Python风格的东西只是Ruby中的不良做法?我应该注意什么,应该避免什么?

3
Ruby创建者为什么选择使用符号的概念?
tl; dr:是否会有语言不可知的符号定义,以及是否有其他语言的符号? 那么,为什么Ruby创建者symbols在语言中使用的概念? 我是从非橄榄球程序员的角度提出这个问题的。我学习了许多其他语言,但没有发现需要指定我是否在处理Ruby所调用的语言symbols。 主要的问题是, symbols Ruby存在以提高性能,还是仅仅因为语言的编写方式而需要? Ruby中的程序会比Python或Javascript对应的程序轻和/或快吗?如果是这样,那是因为symbols吗? 由于Ruby的目的之一是易于人类阅读和编写,难道其创建者不能通过在解释器本身中实现这些改进来简化编码过程吗(就像其他语言一样)? 似乎每个人都只想知道symbols它们是什么以及如何使用它们,而不是为什么首先要知道它们的存在。

1
微软为什么要放弃IronRuby和IronPython?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 6年前关闭。 几年前,微软宣布Ruby和Python即将加入.net。这些项目分别称为IronRuby和IronPython。微软表示,这些项目将建立在.net DLR之上。 WIKIpedia表示,出于所有意图和目的,这些项目已被Microsoft放弃。 微软为什么放弃这些项目?
15 .net  python  ruby  microsoft 

5
Monkeypatching是否被视为良好的编程习惯?
我一直在印象中,monkeypatching属于快速和肮脏的hack类别,而不是标准的良好编程习惯。虽然我不时使用修复第三方库的小问题,但我认为这是临时性的修复,因此我会向第三方项目提交适当的补丁程序。 但是,我已经将该技术用作主流项目中的“常规方法”,例如在Gevent的gevent.monkey模块中。 Monkeypatching是否已成为主流,正常且可接受的编程实践? 另请参阅:杰夫·阿特伍德(Jeff Atwood)的“ Monkeypatching for Humans”

6
单线与可读性:何时停止减少代码?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 2年前关闭。 语境 我最近对产生更好的格式化代码感兴趣。更好的意思是“遵循足够多的人认可的规则,将其视为一种良好的做法”(当然,因为永远不会有一种独特的“最佳”编码方式)。 如今,我主要使用Ruby进行编码,因此我开始使用linter(Rubocop)为我提供一些有关代码“质量”的信息(此“质量”由社区驱动的项目ruby-style-guide定义)。 请注意,我将使用“质量”作为“质量格式化的”,与其说是对代码的效率,即使在某些情况下,代码效率实际上是由代码是怎么写的影响。 无论如何,做完所有这些事情,我意识到(或至少记得)一些事情: 一些语言(最著名的是Python,Ruby等)允许编写出色的一线代码 遵循一些代码准则,可以使代码大大缩短,但仍然非常清晰 但是,过于严格地遵循这些准则会使代码不太清晰/不易阅读 该代码几乎可以完全遵守某些准则,但质量仍然很差 代码的可读性主要是主观的(如“我发现对开发人员完全不清楚的内容”) 这些只是观察,并非绝对的规则。您还将注意到,此时代码的可读性和遵循的准则似乎无关紧要,但此处的准则是一种缩小重写代码块的方式的方法。 现在,举一些例子,使所有这些变得更加清楚。 例子 我们来看一个简单的用例:我们有一个带有“ User”模型的应用程序。用户具有可选firstname和surname必填email地址。 我想编写一个方法“ name”,firstname + surname如果至少存在用户firstname或,则将返回该用户的名称(),如果没有,则返回surname其email后备值。 我还希望此方法采用“ use_email”作为参数(布尔值),从而允许将用户电子邮件用作后备值。此“ use_email”参数应默认(如果未传递)为“ true”。 用Ruby编写最简单的方法是: def name(use_email = true) # If firstname and surname are both blank (empty string or undefined) # and we can use the email... …

3
我们可以使用Ruby创建桌面应用程序吗?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为软件工程堆栈交换的主题。 6年前关闭。 我知道Ruby on Rails框架仅适用于Web开发,不适用于桌面应用程序开发。但是,如果红宝石程序员想要开发桌面应用程序,那么仅使用Ruby(不是jRuby,因为大多数教程都是针对jRuby的),是否合适并且更可取?如果是,请提供一些好的教程。我想使用linux作为开发的操作系统。 请提出一些建议,因为我是红宝石开发人员,想开发桌面应用程序。

4
Ruby是做什么的(或者是Rails)?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 6年前关闭。 大多数编程语言都有一些影响其用法和适用性的设计决策。 例如: Python专注于代码的可维护性/可读性,并且缩进已成为语言本身的一部分。 Java的意图是使跨平台的OOP比C ++更加“轻松”和“友好” Objective-C是作为C的OO包装而构建的,当时还不知道C ++的未来 Erlang专为高度容错和并发系统而设计 PHP设计用于处理网页的动态创建 CoffeeScript旨在公开Java 脚本的大部分内容,并添加OOP语法糖,并在“幕后”等中隐藏JS的细微差别(全局等)。 每种编程语言都试图利用并利用特定的细分市场恕我直言。以上是我对编程语言的基本原理以及支配其发展和广泛采用性的观点。当然,还有更多,但是该列表仅用作示例 但是,我一直在努力地理解Ruby的创立原则及其日益普及的趋势。Ruby的流行是什么?还是设计Rails框架的一个人的天才?如果是后者,是因为Ruby使Rails的设计更好/更容易/更快了?凭什么? 根据其创建者最常被引用的原因是“ ...想要一种有趣的弱类型编程语言”-我不认为这完全是创建新编程语言的原因!恕我直言,无论使用哪种语言,编程都很有趣(每种语言都有一些不好的部分,但是要么绕过它,要么与它共存)。 那么,Ruby语言在当前语言中没有(或没有)利用什么利基呢?导致广泛采用的Ruby的“强项”(USP)是什么?Ruby以前没有做过(或者非常困难)做了什么? 我不是Ruby程序员,而是Ruby noob,所以很困惑。 免责声明:这不是一场大战,我不是在寻找Ruby vs编程语言类型的答案。我正在寻找导致广泛采用的基于Ruby的设计决策。Ruby满足于流行有什么利基?还是纯粹归因于Rails?

2
如何处理技术“独断论”
我离开了一份工作(搬到另一个国家),大部分时间我都使用Javascript和Haskell(某些python)进行编程。我真的很喜欢它,因为人们是客观,积极,数学的,却做了很多事情。这是一家真正的专业商店。 现在,我在一家敏捷/ XP商店工作。虽然这很好,但我觉得在选择技术和库时也许我们并不专业。我觉得我们编写软件的方法还有些不成熟且没有结构。我正在尝试阅读我提供的书籍,它们似乎鼓励这种风格(ugh)。很多时候,我们只是从git hub中摘取libs并使用它,而没有进行任何类型的审查。 即使对一个人来说这是一件小事,我也总是被迫与某人一起工作。即使规则可以被琐碎的反例破坏(每次我都误以为给出反例而被口头攻击),似乎所有事情都有一条“快速”规则。在美国,这正常吗?我该如何处理这种教条主义?
13 ruby  haskell  agile 

7
自学语言的最佳地点在哪里?
我一点都不懂任何编程语言。我将自学自我,需要知道最好的去处,以便可以从最基本的层次上学习。在哪里开始学习语言的好地方?哪种语言最适合先学习?首先学习Ruby是愚蠢的吗? 在这里,我遇到一个人,他说如果先学习一些高级语言,可能会让您“懒惰”。像Ruby一样。 对于我的母语,我丈夫建议我学习Ruby(出于他个人的兴趣)。但是,我需要一些关于如何入门和应该首先学习哪种语言的独立建议。我最终将学习Ruby,然后学习Rails。 四个月前,我丈夫下令编写目标C的文本,因为他认为自己会接受。我翻了翻,显然是从比我所在的地方先进的地方开始。 我已经涉猎了Ruby教程,但我不明白。我得到的是我得到的,但是我不明白是什么导致了那件事。我需要首先了解所有规则。然后,我查找了计算机语言,并盯着研究二进制代码,这很有帮助,但并不是我想要的起点。我一生中没有足够的时间(和四个孩子一起)回去。如果我要去学校,那会有所不同。 欢迎您提供任何建议。
13 ruby 

2
人们为什么建议在Ruby on Rails中不对视图使用实例变量
为什么我听到在控制器和视图之间共享实例变量不好。我有点喜欢它,因为我可以立即通过@看到某些东西来自控制器。我在这里看到了一种在控制器中使用助手的好方法:http : //www.stephencelis.com/2008/09/06/rails-controllers-views-and-variables.html。但是我在这部分使用康康。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.