首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Ruby Programming | 连载 03 - Ruby 对象基础

上面提到了两个术语 发送 to_i 消息 和 调用 to_i 方法,这两个术语并不是完全相同。传递消息给对象时,对象会执行相应的方法,如果对象没有对应的方法则会报错 NoMethodError。...Ruby 的动态特性之一 Ruby 对象可以拦截位置的消息并使他们拥有具体的含义,Rails 框架中大量使用了拦截,发送位置的消息到对象并拦截该消息,然后能够在使用当前数据库表的列名作为动态条件的情况下顺畅运行...完整的 Ruby 程序是由对象以及发送给对象的消息组成的。类定义了一组行为或者功能,每一个对象都是类实例化而来的,每一个对象都是不同的。...Ruby 中类的概念没有对象重要,Ruby 作为一种动态解释型语言,对象在实例化过程中是可以改变的,对象可以在实例化过程中改变类中定义的行为或者增加原类中没有定义的行为,这就是 Ruby 语言的动态特性...(刀):#{aus}" 在上述代码中通过定义一个 Exchange 类并且在类中定义了一个 yuan2aus 方法(行为),通过实例化 Exchange 来调用该方法,通过在键盘输入要转换的金额并调用该方法来实现汇率的换算

2K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    如何在Ubuntu 14.04上使用MySQL和Ruby on Rails应用程序

    本教程将向您展示如何在Ubuntu 14.04服务器上设置开发Ruby on Rails环境,以允许您的应用程序使用MySQL数据库。首先,我们将介绍如何安装MySQL和MySQL适配器gem。...没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后再购买服务器。 本教程要求具有可用的Ruby on Rails开发环境。...安装MySQL Gem 在您的Rails应用程序可以连接到MySQL服务器之前,您需要安装MySQL适配器。在mysql2创业板提供了这个功能。...创建新的Rails应用程序 在主目录中创建一个新的Rails应用程序。...如果您收到错误消息“用户'root访问被拒'@'localhost'(使用密码:是)请提供MySQL安装的root密码”,按Ctrl-c退出。

    4.9K00

    使用Capistrano,Nginx和Puma在Ubuntu 14.04上部署Rails应用程序

    介绍 Rails是一个用Ruby编写的开源Web应用程序框架。Nginx是一种高性能HTTP服务器,反向代理和负载均衡器,以其并发性,稳定性,可伸缩性和低内存消耗而著称。...在本教程中,我们将在Ubuntu上安装Ruby和Nginx,并在我们的Web应用程序中配置Puma和Capistrano。...准备 要学习本教程,您必须具备以下条件: Ubuntu 14.04 x64 具有sudo权限以deploy命名的非root用户 Rails应用程序托管在可以部署的远程git存储库中 (可选)为了提高安全性...-sSL选项由三个标志组成: -s 告诉curl以“silent mode”下载文件 -S 告诉curl如果失败则显示错误消息 -L 告诉curl在检索安装脚本时遵循所有HTTP重定向 下载后,脚本将传到...注意:如果第二个命令失败并显示消息“GPG签名验证失败”,则表示GPG密钥已更改,只需从错误输出中复制命令并运行它以下载签名。然后运行用于RVM安装的curl命令。

    5K40

    如何在Ubuntu 14.04上使用PostgreSQL和Ruby on Rails应用程序

    本教程将向您展示如何设置开发Ruby on Rails环境,该环境允许您的应用程序在Ubuntu 14.04服务器上使用PostgreSQL数据库。首先,我们将介绍如何安装和配置PostgreSQL。...然后我们将向您展示如何创建使用PostgreSQL作为其数据库服务器的rails应用程序。 准备 本教程要求具有可用的Ruby on Rails开发环境。...现在您可以输入以下命令退出PostgreSQL控制台: \q 我们现在创建一个Rails应用程序。 创建新的Rails应用程序 在主目录中创建一个新的Rails应用程序。...如果你在这一点上得到一个错误,重温以前的第(配置数据库连接),以确保在database.yml中的host,username和password是正确的。...3000上的服务器公共IP地址在Web浏览器中访问您的Rails应用程序: 访问网络浏览器: http://server_public_IP:3000 如果您看到“欢迎登陆”Ruby on Rails页面

    3.4K00

    你了解Node.js的原理和应用场景吗?

    在本文中,我将不仅要讨论如何使用这些优势,而且还要讨论 为什么 你可能想要使用 Node.js ,并用一些经典的 Web 应用程序模型作为示例。 它是如何工作的?...为了避免异常冒泡到顶层,常用技术是将错误作为回调参数传递回调用者(而不是像在其他环境中那样抛出它们)。...它也是一个很好的学习案例,因为它很简单,但涵盖了你在典型的 Node.js 程序中所使用的大部分范例。 让我们试着描绘它是如何工作的。...或者在更高级的解决方案中,可以用消息队列作为消息路由,还可以实现更强大的传递机制,例如可以在连接丢失或在客户端脱机时存储消息。...公司内部和公共服务的状态都可以使用该技术得到实时报告。 注意:不要尝试在 Node.js 中构建硬实时系统(即需要一致响应时间的系统)。

    4.5K40

    为什么要使用Node.js?

    我们很快得出一个结论:假设每创建一个线程系统为它分配2M内存,在一台8G内存的系统上它的最大并发数是4000(这个结论来自Michael Abernethy的文章《Just what is Node.js...避免异常冒泡到程序顶部,可以将错误当做回调函数的参数。...分析一下聊天室是如何工作的。 最简单的例子,在我们的站点上只有一个聊天房间,所用的用户采用一对多的形式交换消息。假设我们的房间里有三个已经建立连接的用户。...在客户端,我们有一个监听两个事件的页面,其中一个监听发送按钮点击事件,获取输入框中的消息,并通过websocket发送到服务端,另一个事件监听websocket客户端新消息(这个消息来源于其他用户,服务端转发给所有在这个聊天房间的用户...所有用户通过客户端websocket收到了来自服务端的推送消息,客户端将得到的消息,追加到页面消息面板的适当位置。 ?

    3.3K21

    如何在Ubuntu 18.04上使用rbenv安装Ruby on Rails

    rbenv支持指定特定于应用程序的Ruby版本,允许您为每个用户更改全局Ruby,并允许您使用环境变量来覆盖Ruby版本。 本教程将引导您通过rbenv完成Ruby和Rails安装过程。...准备 要学习本教程,您需要: 一个Ubuntu 18.04服务器,包括一个具有 sudo 权限的非root用户和防火墙。...Rails是一个复杂的Web开发框架,具有许多依赖关系,因此该过程需要一些时间才能完成。最终,您将看到一条消息,指出已安装Rails。及其依赖: ......通过rehash子命令,rbenv在该目录中维护填充程序,以匹配服务器上每个已安装的Ruby版本的每个Ruby命令。...结论 在本教程中,您安装了rbenv 、Ruby及Rails 。从此,您可以了解有关使这些环境更加强大的更多信息。 想要了解更多关于Ubuntu的开源信息教程,请前往腾讯云+社区学习更多知识。

    6.4K50

    为什么要用 Node.js?

    在本文中,我将不仅要讨论如何使用这些优势,而且还要讨论 为什么 你可能想要使用 Node.js ,并用一些经典的 Web 应用程序模型作为示例。 它是如何工作的?...为了避免异常冒泡到顶层,常用技术是将错误作为回调参数传递回调用者(而不是像在其他环境中那样抛出它们)。...它也是一个很好的学习案例,因为它很简单,但涵盖了你在典型的 Node.js 程序中所使用的大部分范例。 让我们试着描绘它是如何工作的。...或者在更高级的解决方案中,可以用消息队列作为消息路由,还可以实现更强大的传递机制,例如可以在连接丢失或在客户端脱机时存储消息。...公司内部和公共服务的状态都可以使用该技术得到实时报告。 注意:不要尝试在 Node.js 中构建硬实时系统(即需要一致响应时间的系统)。

    2.7K20

    我终于逃离了 Node

    当时业界的潮流是反对过去的大一统理念的,像 Ruby on Rails 和 ASP.NET 这样的单体框架逐渐失宠。...它让你的程序在某些层面“感觉”上更同步。但这种抽象并不完美,并且放在了错误的堆栈层上。...我得到了一个 promise,而不是一个结果,所以我需要添加其他逻辑来处理这个 promise 并获得结果。...不是作为一个特性,而是其存在的一部分。 当我运行上面的 Postgrex.start_link 时,这个函数会向我返回一个 pid,我将其存储在变量 conn 中。pid 是一个地址。...在 Elixir 和 Erlang 中,并发不是在函数层发生,而是在模块层发生。你可以将模块实例化为一个进程,现在它与其他进程并发运行。每个进程都保持自己的状态,并且可以与其他进程来回传递消息。

    51330

    经验贴:如何快速掌握一门技术

    几周前一个朋友也打算通过跑步来甩一甩脂肪,控制一下自己那已经严重扭曲了的身材 —— 他便求教我从衣服到鞋,从腕表到心率带,都买了什么装备,性能如何,他好照着原样来一套。...他连连说不信,一个连排汗速干的衣服,臂包,运动腕表都没配的人,怎么也能(配得上)跑步? 这让我想起了我经常会遇到的一些读者留言: 「我想学rails,有没有推荐的ruby的入门书籍?」...比如说,我要学rails,那就直接从rails开始,遇到有关ruby的语法障碍,回过头来看看ruby文档中相关的内容,扫清障碍立刻回到rails本身,而不是先从ruby啃起。...我见过有人把书中的例子一个个敲到编辑器中,全部运行正确,然后就心满意足地认为自己「掌握」这门技术了。殊不知,这种「练习」并非有价值的练习。...有句话说得好:你不需要成为一个优秀的ruby工程师才能用好rails,但如果你想成为一个优秀的rails工程师,则你必须很好地掌握ruby。

    83060

    如何在CentOS 6.5上使用 Nginx+Passenger 部署Railes应用程序

    在本教程中,我们将向您展示如何使用最新的CentOS操作系统部署稳健的Rails应用程序(即在线发布),该操作系统以其稳定性闻名。...当然只有一个人可以完成这项工作,但可能不是很好,因为它们并不适合所有目的。 在本教程中,我们将使用Phusion Passenger作为应用程序服务器。...您仍然需要您的应用程序和数据库正常运行才能让Nginx为客户端提供非错误消息的响应。...没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后在购买服务器。...注意:此操作可能需要一段时间 - 可能比想要或期望的更长! 准备部署应用程序 注意:在本节中,我们将使用一个非常简单的Ruby On Rails应用程序作为示例。

    5K20

    一个很有借鉴价值的编程故事

    我曾经无意中听到过几个人在那吹牛说自己怎么使用一种叫Ruby的语言轻松实现自动办公。我想“呵,Ruby”。我回到家,谷歌Ruby。15秒之后,我随机选择了一个Ruby教程,开始学习。...我认为实际上我什么都没学到,直到在某个月的考核中,我上升至第五位。这些经历给我的印象是,编程是一场你永远无法取得胜利的战斗。...在生活中,我学程序员说话,像他们一样思考,现在,我已经习惯了这个词。 我的同事几乎从没遇到过语法错误,因为他们的IDE替他们解决这个问题。...而当他们遇到一个错误信息,如果在几分钟内不能解决问题,他们就会给其他同事发送一条即时消息,请求其他人的帮助。他们会随意跳到别人的桌旁,然后开始结对编程。这里的程序员不会太自我,也不自诩为精英。...从这个角度来说,他们是保守的。 在ThoughtBot你也会看到类似的情况,在ThoughtBot中,每个人都坚持使用一个小且高效的工具集(Rails,Vim,Postgres和Redis)。

    1K60

    GitHub 上有哪些项目能帮你更好的学习编程?

    Rails Girls 指南 Ruby on Rails 是一个基于 Ruby 语言的 Web 开发框架,由于其倡导敏捷开发、不写重复代码的原则受到了许多 Web 开发者的追捧。...如果你能熟练使用 Rails,你甚至可以在短短几分钟内,通过其自带的脚手架功能快速搭建一个完整的个人博客。...在 Rails 社区中存在很多组织,这些组织都希望通过一种比较友好的方式向外界推广 Rails 技术。...下面推荐的这个项目,它整理了诸多如 C/C++、Go、PHP、Python 等主流编程的语言指导教程。...有别于其它普通教程的一点是,该项目列举的这些教程,都会教你如何从零开始做一个小应用,让你可以通过实际训练来了解一门语言的特性。

    1.1K20

    周末看看 GitHub 上有哪些项目能帮你更好的学习编程?

    Rails 是一个基于 Ruby 语言的 Web 开发框架,由于其倡导敏捷开发、不写重复代码的原则受到了许多 Web 开发者的追捧。...如果你能熟练使用 Rails,你甚至可以在短短几分钟内,通过其自带的脚手架功能快速搭建一个完整的个人博客。...在 Rails 社区中存在很多组织,这些组织都希望通过一种比较友好的方式向外界推广 Rails 技术。...下面推荐的这个项目,它整理了诸多如 C/C++、Go、PHP、Python 等主流编程的语言指导教程。...有别于其它普通教程的一点是,该项目列举的这些教程,都会教你如何从零开始做一个小应用,让你可以通过实际训练来了解一门语言的特性。

    1.3K50

    如何快速掌握一门技术

    几周前一个朋友也打算通过跑步来甩一甩脂肪,控制一下自己那已经严重扭曲了的身材 —— 他便求教我从衣服到鞋,从腕表到心率带,都买了什么装备,性能如何,他好照着原样来一套。...这让我想起了我在撰写「程序人生」公众号经常会遇到的一些读者留言: 「我想学rails,有没有推荐的ruby的入门书籍?」 「我想学android,对java掌握到什么程度才能开始呢?」...比如说,我要学rails,那就直接从rails开始,遇到有关ruby的语法障碍,回过头来看看ruby文档中相关的内容,扫清障碍立刻回到rails本身,而不是先从ruby啃起。...我见过有人把书中的例子一个个敲到编辑器中,全部运行正确,然后就心满意足地认为自己「掌握」这门技术了。殊不知,这种「练习」并非有价值的练习。...有句话说得好:你不需要成为一个优秀的ruby工程师才能用好rails,但如果你想成为一个优秀的rails工程师,则你必须很好地掌握ruby。

    97950

    慢的不是 Ruby,而是你的数据库

    处理大型数据集,使这成为一个真实而恼人的问题。 但两者的绝对差异又如何呢?Ruby 版本仅慢 1.2 秒多一点。这在测试和开发过程中已经足够令人恼火了。...我个人主要使用 Ruby 编写代码,但很少涉及 Rails(因为我不太喜欢它),不过我是个例外。在 Ruby 开发中,几乎总是采用 “用 Rails 进行 Web 开发” 的方式。...然而,这也导致在 Rails 中性能成为一个问题,甚至比在 Ruby 中更加突出。 因此,“堆栈” 指的是 “使用数据库的 Ruby on Rails”。...为了深入分析这个问题,我将会比较一些非 Rails、非 HTTP、纯 Ruby 的脚本。 Ruby 在处理大量数据方面并不擅长,但从本质上讲,这正是 Web 服务所需要的。...从内存和代码中填充某个数组,然后从数据库中填充该数组,速度仍然要快一千倍或更多。正如我在第一段中所展示的那样。 所以,该怎么办呢?我采用的一些经验法则是: 在可以避免的情况下,不要使用数据库。

    15130

    如何在Ubuntu 18.04上使用RVM安装Ruby on Rails

    本教程将指导您完成Ruby和Rails安装过程并通过RVM进行设置 课程准备 本教程将通过RVM引导您完成Ruby on Rails安装过程。...要学习本教程,您需要一个在Ubuntu 18.04服务器上具有sudo权限的非root用户。...没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后再购买服务器。 安装 使用RVM安装Ruby on Rails的最快方法是运行以下命令。...gem install rails -v rails_version 我们可以通过创建gemsets然后在使用普通gem命令的Rails中安装Rails,这样可以让每一个Ruby能够使用各种Rails...结论 我们已经介绍了如何在这里安装RVM和Ruby on Rails的基础知识,以便您可以使用多个Ruby环境。

    8.9K00

    Ruby x Jekyll 本地调试环境搭建

    RubySource 即可 很多时候,在安装 gem 的过程中会出现找不到资源的 error,我们需要从另外一个 gem 服务器下载安装。...plugins/convert.rb:32:in `module:Jekyll': cannot load such file -- jekyll/post (LoadError) 这次 Deploy 的时候这个问题困扰了我好久...并且对应的这个 post 文件夹也变了,因此处理方式就是干脆把所有所有转移到 3.0 的新 Proj 算了 所以只需要使用 Jekyll 建立一个新的 Proj jekyll new MyBlog 就会在当前目录建立一个...file '_includes/JB/setup' not found 这个也是上一个问题的连带问题 V2.X 里面的某些 Post 里面引用了以前的文件,因此现在 Not Found 是很正常的...Post 的格式改成新的格式 错误的文件路径已经显示在 Error Msg 里面了 cannot load such file -- jekyll-paginate (LoadError) Gem install

    1.3K10

    不要学习“网红”编程语言

    “实现一个试点项目,用这个策略来暗度陈仓,在眼皮底下把 Ruby 整合进系统。剩下的工作让 Ruby 完成就可以了。...不过,为了建立你的试点项目,你首先需要创建一个案例,让 Ruby 看起来足够吸引眼球,从而让大家甘心冒这个风险。接着,你得在你的试点策略里面添筋加骨。...从 2000 年开始,到该时代中期,Ruby 受欢迎程度在 TIOBE 指数评级中逐渐达到顶峰,人们认为 Ruby 还有它的旗舰级 Rails 框架,可以大大提高生产力。...在比较流行的 Ruby 开源项目方面,我能想到的也只有 Discourse 和 Mastodon。...2021 年 StackOverflow 的调查结果也支持了这样的判断:Ruby 与 Rails 在各项评比中基本都处于象限底端。Ruby 得到的“赞”和“踩”基本相当。

    2.1K30
    领券