- 浏览: 303089 次
- 性别:
- 来自: 武汉
文章分类
最新评论
-
masuweng:
如何给新人机会 -
masuweng:
多sql结果集按列合并新结果报表实现方案 -
Ahe:
赞
坚持长跑方能赢 -
masuweng:
好好好
程序员如何更好的了解自己所做的事情 -
小楠人:
laoguan123 写道楼主好,使用过一些excel导入导出 ...
excell导入导出
[Ruby]转载: 关于ruby中 %Q, %q, %W, %w, %x, %r, %s 的用法
单引号内的内容,ruby会原样输出
双引号内的内容,ruby会解析
我们看个简单的例子,针对字符串 #{foo}test 我们分别用单引号核双引号操作
'#{foo}test'
=> "\#{foo}test"
"#{foo}test"
NameError: undefined local variable or method `foo' for main:Object
from (irb):4
from C:/Ruby192/bin/irb:12:in `<main>'
显而易见, 双引号对字符串内的#进行了解析, 导致ruby认为foo是个方法,出错.
类似的, %W %Q 相当于双引号, %w %q 相当于单引号.
转载: http://simpleror.wordpress.com/2009/03/15/q-q-w-w-x-r-s/
%Q
This is an alternative for double-quoted strings, when you have more quote characters in a string.Instead of putting backslashes in front of them, you can easily write:
>> %Q(Joe said: "Frank said: "#{what_frank_said}"")
=> "Joe said: "Frank said: "Hello!"""
The parenthesis “(…)” can be replaced with any other non-alphanumeric characters and non-printing characters (pairs), so the following commands are equivalent:
>> %Q!Joe said: "Frank said: "#{what_frank_said}""!
>> %Q[Joe said: "Frank said: "#{what_frank_said}""]
>> %Q+Joe said: "Frank said: "#{what_frank_said}""+
You can use also:
>> %/Joe said: "Frank said: "#{what_frank_said}""/
=> "Joe said: "Frank said: "Hello!"""
%q
Used for single-quoted strings.The syntax is similar to %Q, but single-quoted strings are not subject to expression substitution or escape sequences.
>> %q(Joe said: 'Frank said: '#{what_frank_said} ' ')
=> "Joe said: 'Frank said: '\#{what_frank_said} ' '"
%W
Used for double-quoted array elements.The syntax is similar to %Q
>> %W(#{foo} Bar Bar\ with\ space)
=> ["Foo", "Bar", "Bar with space"]
%w
Used for single-quoted array elements.The syntax is similar to %Q, but single-quoted elements are not subject to expression substitution or escape sequences.
>> %w(#{foo} Bar Bar\ with\ space)
=> ["\#{foo}", "Bar", "Bar with space"]
%x
Uses the ` method and returns the standard output of running the command in a subshell.The syntax is similar to %Q.
>> %x(echo foo:#{foo})
=> "foo:Foo\n"
%r
Used for regular expressions.The syntax is similar to %Q.
>> %r(/home/#{foo})
=> "/\\/home\\/Foo/"
%s
Used for symbols.It’s not subject to expression substitution or escape sequences.
>> %s(foo)
=> :foo
>> %s(foo bar)
=> :"foo bar"
>> %s(#{foo} bar)
=> :"\#{foo} bar"
单引号内的内容,ruby会原样输出
双引号内的内容,ruby会解析
我们看个简单的例子,针对字符串 #{foo}test 我们分别用单引号核双引号操作
'#{foo}test'
=> "\#{foo}test"
"#{foo}test"
NameError: undefined local variable or method `foo' for main:Object
from (irb):4
from C:/Ruby192/bin/irb:12:in `<main>'
显而易见, 双引号对字符串内的#进行了解析, 导致ruby认为foo是个方法,出错.
类似的, %W %Q 相当于双引号, %w %q 相当于单引号.
转载: http://simpleror.wordpress.com/2009/03/15/q-q-w-w-x-r-s/
%Q
This is an alternative for double-quoted strings, when you have more quote characters in a string.Instead of putting backslashes in front of them, you can easily write:
>> %Q(Joe said: "Frank said: "#{what_frank_said}"")
=> "Joe said: "Frank said: "Hello!"""
The parenthesis “(…)” can be replaced with any other non-alphanumeric characters and non-printing characters (pairs), so the following commands are equivalent:
>> %Q!Joe said: "Frank said: "#{what_frank_said}""!
>> %Q[Joe said: "Frank said: "#{what_frank_said}""]
>> %Q+Joe said: "Frank said: "#{what_frank_said}""+
You can use also:
>> %/Joe said: "Frank said: "#{what_frank_said}""/
=> "Joe said: "Frank said: "Hello!"""
%q
Used for single-quoted strings.The syntax is similar to %Q, but single-quoted strings are not subject to expression substitution or escape sequences.
>> %q(Joe said: 'Frank said: '#{what_frank_said} ' ')
=> "Joe said: 'Frank said: '\#{what_frank_said} ' '"
%W
Used for double-quoted array elements.The syntax is similar to %Q
>> %W(#{foo} Bar Bar\ with\ space)
=> ["Foo", "Bar", "Bar with space"]
%w
Used for single-quoted array elements.The syntax is similar to %Q, but single-quoted elements are not subject to expression substitution or escape sequences.
>> %w(#{foo} Bar Bar\ with\ space)
=> ["\#{foo}", "Bar", "Bar with space"]
%x
Uses the ` method and returns the standard output of running the command in a subshell.The syntax is similar to %Q.
>> %x(echo foo:#{foo})
=> "foo:Foo\n"
%r
Used for regular expressions.The syntax is similar to %Q.
>> %r(/home/#{foo})
=> "/\\/home\\/Foo/"
%s
Used for symbols.It’s not subject to expression substitution or escape sequences.
>> %s(foo)
=> :foo
>> %s(foo bar)
=> :"foo bar"
>> %s(#{foo} bar)
=> :"\#{foo} bar"
发表评论
-
git仓库创建
2020-09-04 15:33 713推送现有文件夹 cd existing_folder git ... -
puma高并发
2020-08-19 09:31 478nginx突发大量502报错 top看一下,cpu的占用并不高 ... -
searchkick
2019-04-10 11:30 0# 通用查询块(条件) def general_ ... -
导入线下excell业务数据按权重匹配线上数据
2019-03-07 11:00 906业务场景:(系统间还没有接口对调,订单号暂时需要线下处理) 线 ... -
两对象同时映射一对一和一对多
2019-02-20 10:14 861class Kpi::Team < Applicat ... -
ruby一些类加载方式
2018-12-21 10:12 570require_dependency 'order/sco ... -
基于ruby的gem remotipart的异步上传文件
2018-12-21 10:11 539针对某一对象保存实例化之前,异步上传图片保存。 gem ' ... -
基于html2canvas的长图分享
2018-12-21 10:11 1163<span class="ui label ... -
rails处理上传读取excell&生成excell
2018-12-20 14:15 997gem 'spreadsheet' gem 'roo', ... -
基于ruby Mechanize的爬虫
2018-12-20 13:09 691def self.sang_carwler ... -
一些常用加密方式
2018-12-20 13:02 732sign = OpenSSL::Digest::SHA256. ... -
ruby 调用restful接口示例
2018-12-20 12:02 931链接参数中添加token def self.query_p ... -
rails错误日志记录
2018-12-19 14:41 780Rails中对日志的处理采用的是“消息-订阅”机制,各部分组件 ... -
railsAPI接收Base64文件
2018-12-18 11:05 1044tmp_dir = " ... -
ruby 调用savon接口示例
2018-12-18 10:51 1038例子一 module Api module Aob ... -
关于国际商城现货展示与购物车的费用设计
2018-11-15 18:34 448关于国际商城现货展示 ... -
基于多线程的全局变量
2018-10-31 19:50 1182def current_nation def ... -
hash最小值过滤算法
2018-10-31 09:52 1092[["数量","包装" ... -
阿里云裸机部署rails运用
2018-10-08 20:33 1404登录阿里云后首先 sudo apt-get update a ... -
打包订单单据发给货代
2018-09-11 15:43 1182pdf&excell&png # rend ...
相关推荐
- **条件语句**:Ruby 的条件语句与大多数编程语言相似,使用 `if...else...end` 结构。Ruby 的条件语句也支持 `elsif` 关键字,用于处理多个条件分支。 #### 循环/迭代器 - **while 循环**:`while` 循环会重复...
主要内容包括理解shellcode的概念、如何利用Ruby语言生成shellcode以及如何在内存中加载并执行shellcode。 ### Shellcode简介 Shellcode是一种非常小的程序代码片段,通常用于实现特定的功能,例如打开命令行接口...
Ruby Gem环境是Ruby编程语言中的一个关键组成部分,它是一个包管理器,负责安装、管理和使用Ruby库,也就是所谓的Gems。在Ruby世界中, Gems不仅仅是代码库,它们包含了执行脚本、元数据以及用于安装和运行时的依赖...
Ruby on Rails 是一个流行的Web应用框架,它以其MVC(模型-视图-控制器)架构模式和DRY(Don't Repeat Yourself)原则而受到开发者喜爱。在构建用户界面时,表单是不可或缺的部分,尤其当涉及到用户交互和数据输入时...
在本教程中,我们使用Ruby语言来加载生成的shellcode。我们首先 require 了必要的库,包括 `fiddle` 和 `fiddle/import`。 ```ruby require 'fiddle' require 'fiddle/import' require 'fiddle/types' ``` 然后,...
在Ruby on Rails(ROR)框架中,实现搜索和分页功能是常见的需求,尤其是在构建数据密集型Web应用时。本示例将深入探讨如何利用Ruby技术和Rails的强大特性来完成这一任务。 首先,我们需要理解搜索功能的基础:查询...
在Ruby中构建和使用服务对象的简单方法。 安装 将此行添加到您的应用程序的Gemfile中: gem 'ruby-active_action' , '~> 3.0.1' 或使用其他宝石: 然后执行: $ bundle install ActiveAction示例 # app/actions/...
在Ruby on Rails框架中,构建表单是一项常见的任务,而Simple Form gem就是为了简化这一过程而设计的。Simple Form是一款强大的表单构建器,它提供了一种简洁、直观的方式来创建复杂的表单,使得开发者能更专注于...
Time.gm(同义方法是 Time.utc)方法基本上和上面的 mktime 用法相同,但它使用的是 GMT 或 UTC 时区。 t8 = Time.gm(2001,3,15,21,30,15) t9 = Time.utc(2001,3,15,21,30,15) 生成的时间对象有一个 to_a 方法,...
- **条件语句**:讲解 if、unless 等条件语句的使用方法。 - **循环结构**:介绍 while、for、each 等循环语句,以及它们之间的区别。 - **异常处理**:探讨 Ruby 中的异常处理机制,包括 raise 和 rescue 关键字的...
p6df-Ruby目录p6df-Ruby徽章概括贡献行为守则变化用法p6df-ruby:p6df-ruby / init.zsh: p6_ruby_prompt_info() p6df :: modules :: ruby :: deps() p6df :: modules :: ruby :: home :: symlink() ...
从程序所需要的变量、常数、方法、类、控制结构等语法的说明,到类的主要使用方法、简单的应用等,尽可能都浅显地加以解说。您若是自己动手玩过HTML这样的读者,应该就能充分活用《Ruby Programming:向Ruby之父学...
Learn the principles behind object-oriented programming and within a few chapters create a fully functional Ruby application. You'll also gain a basic understanding of many ancillary technologies such...
"Ruby Trap"这个标题暗示了这是一本关于Ruby编程中常见问题和陷阱的电子书,旨在帮助初学者避免在学习过程中遇到的困扰。下面,我们将深入探讨一些可能涵盖在书中的Ruby编程知识点。 1. **变量和常量**: - Ruby有...
Ruby是一种面向对象的脚本语言,常用于Web开发,尤其与Rails框架的结合,使得它在编程界占有重要地位。`ShowFor`是Ruby社区中一个实用的库,旨在简化在视图层展示模型信息的过程,尤其是对于拥有国际化(I18n)特性...
Ruby是一种面向对象、动态类型的脚本语言,由Yukihiro "Matz" Matsumoto于1995年创建。它以其简洁、优雅的语法和强大的编程能力而闻名,广泛应用于Web开发、脚本自动化、服务器管理等领域。RubyInstaller是Windows...
RubyLearning:关于Ruby语言的实践,这个资源显然旨在帮助开发者深入理解并熟练运用Ruby进行实际项目开发。让我们详细探讨一下Ruby语言的核心概念、实践技巧以及在不同领域的应用。 1. **Ruby基础** - 变量:Ruby...
Ruby Selenium Web驱动程序是用于自动化Web浏览器操作的强大工具,它允许开发者使用Ruby语言编写脚本来控制浏览器的行为。这个工具主要用于Web应用的测试,但也可以用于其他需要浏览器交互的场景。在Ruby中,...