总结字串转变到其它与它相关的object的方法. 在这里整理分享一下, 希望能帮助到你.
变量相关
读取
instance_variable_get
("
@name
")
#返回@name值
设置
instance_variable_set
("
@name
",
"
三国演义
")
#@name = "三国演义"
method相关
string到method名
:
send
book
.
send
("
name
")
#返回 book.name值
注意: book.send("name") = "三国演义" 会出错.
但可以:
book
.
send
("
name=
",
"
三国演义
")
#book.name = "三国演义"
单复数转化
string复数化
:
pluralize
可用于生成table_name
"
country
".
pluralize
#=> "countries"
string单数化
:
singularize
和上面的相反
"
posts
".
singularize
#=> "post"
table和class相关
将表格名转成class名: classify
"
blog_pictures
".
classify
#=> "BlogPicture"
转成table_name(和上面的相反)
:
tableize
"
BlogPicture
".
tableize
#=> "blog_pictures"
将class名转成class
:
constantize
"
Country
".
constantize
#=> Country
可以将classify和constantize联用将string转成class model:
"
books
".
classify
.
constantize
.
find_by_name
("
三国演义
")
#=> Book.find_by_name("三国演义")
相关推荐
最近有个需求,需要根据一个字符串当作一个类来使用,例如: 有一个字符串 “ChinaMag”,根据这个字符串调用 类 ChinaMag下的方法。 解决办法: 1.rails可以使用 constantize方法。 代码如下: pry(main)> ...
JavaScript 的JSON.parse()将Date转换为 UTC ISO 8601 格式的字符串。 JSON . stringify ( { date : new Date ( 2015 , 2 , 14 ) } )// "{"date":"2015-03-13T15:00:00.000Z"}" 所以,这就是 Rails 应用程序的控制...
Ruby on Rails框架中的Inflector库就是一个这样的工具,它提供了丰富的字符串操作功能,如单数与复数形式的转换、驼峰式命名与下划线命名的互换等。现在,这些功能被移植到了Python中,形成了名为"拐点"的库。这个库...
例如,以下代码创建了一个名为`table_with_arrays`的表,其中包含两个整数数组列`int_array`和`int_array_length`,以及一个字符串数组列`string_array`: ```ruby create_table :table_with_arrays do |t| t....
**字符串操作**:借鉴了ActiveSupport中的String模块,提供了一套丰富的字符串操作方法,如`titleize`用于生成标题化的字符串,`parameterize`用于创建URL友好的字符串,`humanize`则将下划线分隔的字符串转换为人可...
`JSON.stringify`和`JSON.parse`分别用于对象到JSON字符串的转换和JSON字符串到对象的解析。 7. **数组操作** Prototype 也对数组进行了扩展,提供了诸如`Array.prototype.each`、`Array.prototype.map`、`Array....
例如,虽然字符串和浮点数不能直接相加,但它们都可以调用`to_i`方法转换为整数。 1.4 函数 在Ruby中,函数定义以`def`开始,如`def tell_the_truth true end`。函数默认返回最后执行的表达式的值。函数也可以作为...
安装完成后,需要在项目中引用相关的命名空间,并配置连接字符串,以便连接到目标数据库。连接字符串可以在应用程序配置文件(如app.config或web.config)中设置。 在使用Caste ActiveRecord 时,首先需要定义数据...
问题在于,当您检索这些值时,它们是字符串。 Storext旨在解决这一问题。 这是ActiveRecord::Store之上的一层,它使用Virtus来强制转换值并添加其他选项,例如: 默认值 类型( String , Integer ) 目前,该...
Ruby的`json`模块提供了`JSON.parse`和`JSON.generate`两个核心方法,分别用于解析JSON字符串和生成JSON格式的字符串。 #### 解析JSON ```ruby require 'json' json_string = '{"name": "John", "age": 30, "city...
另外,它引入了`String#encode`方法的`:invalid`选项,用于处理编码错误,使得开发者能更好地控制字符串编码转换过程中的异常情况。 对于在Linux环境下使用Ruby 2.2.4的开发者来说,通常需要通过编译源代码的方式来...
- **字符串** (`String`) - **布尔型** (`TrueClass`, `FalseClass`) - **数组** (`Array`) - **哈希** (`Hash`) - **范围** (`Range`) - **符号** (`Symbol`) 每种数据类型都有其独特的属性和方法。 #### 4. Ruby...
3. **String#prepend**:类似于String#append,这个方法可以在字符串的开头添加新的文本。 4. **Symbol#to_proc** 的性能提升:这个版本对Symbol#to_proc的实现进行了优化,使其在处理大量迭代时速度更快。 5. 更多...
转换符号和字符串可以方便地进行操作,例如`"foo".to_sym`得到`:foo`,`:bar`.to_s得到`"bar"`。 14. **Open Classes** Ruby允许动态扩展已有的类,如`class String; def reverse; self.reverse!; end; end`。 ...
- Groovy的GString(类似Java的String)支持表达式插入,使得字符串操作更加方便。 - 通过使用`@CompileStatic`注解,Groovy代码可以被静态类型检查,从而获得接近Java的性能。 2. **Groovy与Spring的整合**: -...
在Ruby中,一切都是对象,包括基本数据类型如数字、字符串和布尔值。例如,当你在Ruby中写下"hello",它实际上是一个String对象,你可以调用方法在它上面操作,如`"hello".upcase`会返回"HELLO"。 其次,Ruby的动态...
1. 变量和数据类型:Ruby支持五种基本数据类型,包括符号(Symbol)、字符串(String)、整数(Integer)、浮点数(Float)和布尔值(TrueClass/FalseClass)。例如,创建一个字符串变量`str = "Hello, World!"`,...
在Ruby中,可以使用内建的数据结构如哈希(Hash)来存储每个单词及其出现的次数,然后通过遍历歌词字符串,对每个单词进行计数。为了提高效率,可能还使用了Ruby的String类方法如`split`来拆分歌词,`downcase`将...
- 字符串(String):处理文本数据,提供丰富的操作方法。 - 哈希(Hash):键值对的集合,允许通过键来访问值。 - 文件和目录操作:如 `File` 和 `Dir` 类提供了读写文件、创建删除目录的功能。 4. **Ruby on ...
- **字符串( String )**:可以使用单引号或双引号创建,支持字符串连接和格式化。 - **布尔值( Boolean )**:`true`和`false`。 - **符号( Symbol )**:不可变的字符串,用于表示唯一标识符。 - **数组( Array )**:...