Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在RubyonRails中,带变量的感叹号是什么意思?_Ruby_Ruby On Rails 3_Mongomapper - Fatal编程技术网

在RubyonRails中,带变量的感叹号是什么意思?

在RubyonRails中,带变量的感叹号是什么意思?,ruby,ruby-on-rails-3,mongomapper,Ruby,Ruby On Rails 3,Mongomapper,可能重复: 我正在阅读MongoDB的Rails3教程 我看到了这个 键:用户id,对象id 时间戳 感叹号是什么意思 谢谢 class Story include MongoMapper::Document key :title, String key :url, String key :slug, String key :voters, Array key :votes, Integer, :default =>

可能重复:

我正在阅读MongoDB的Rails3教程

我看到了这个 键:用户id,对象id 时间戳 感叹号是什么意思

谢谢

 class Story
  include MongoMapper::Document

  key :title,     String
  key :url,       String
  key :slug,      String
  key :voters,    Array
  key :votes,     Integer, :default => 0
  key :relevance, Integer, :default => 0

  # Cached values.
  key :comment_count, Integer, :default => 0
  key :username,      String

  # Note this: ids are of class ObjectId.
  key :user_id,   ObjectId
  timestamps!

  # Relationships.
  belongs_to :user

  # Validations.
  validates_presence_of :title, :url, :user_id
end

一般来说,当一个“bang”跟随Ruby中的一个方法时,它会改变源代码

例如,检查以下输出:

irb(main):007:0> x = 'string'
=> "string"
irb(main):008:0> x
=> "string"
irb(main):009:0> x.capitalize
=> "String"
irb(main):010:0> x
=> "string"
irb(main):011:0> x.capitalize!
=> "String"
irb(main):012:0> x
=> "String"
x、 大写返回“String”,但变量x保持小写。当我添加!('bang')到末尾的变量x被修改


我对mongodb并不完全熟悉,但这可能会让我们了解ruby中爆炸的目的。

一般来说,当一个“爆炸”跟随ruby中的一个方法时,它会改变源代码

例如,检查以下输出:

irb(main):007:0> x = 'string'
=> "string"
irb(main):008:0> x
=> "string"
irb(main):009:0> x.capitalize
=> "String"
irb(main):010:0> x
=> "string"
irb(main):011:0> x.capitalize!
=> "String"
irb(main):012:0> x
=> "String"
x、 大写返回“String”,但变量x保持小写。当我添加!('bang')到末尾的变量x被修改


我对mongodb并不完全熟悉,但这可能会让我们了解ruby中爆炸的目的。

这是标记为
excel
syncfusion
…为什么?以防有人想知道什么是时间戳!用于:这被标记为
excel
syncfusion
…为什么?以防有人想知道什么是时间戳!was的目的是:这里只需注意,破坏性方法(即改变源代码)中使用的爆炸只是一种约定——Ruby充满了约定。谢谢,我是Ruby的新手,但类似这样的问题我想理解。所以我昨晚花了一些时间在这个问题上,我知道这个话题可能已经结束了。谢谢你把它清理干净+1请注意,破坏性方法(即改变源代码的方法)中使用的爆炸仅仅是一种约定——Ruby充满了约定。谢谢,我是Ruby的新手,但像这样的问题我想理解。所以我昨晚花了一些时间在这个问题上,我知道这个话题可能已经结束了。谢谢你把它清理干净+1.