ruby-on-rails - ruby中do关键字的用法
PHP中文网
PHP中文网 2017-04-21 11:16:31
0
3
1106
class Books < ActiveRecord::Migration
  def self.up
     create_table :books do |t|
    t.column :title, :string, :limit => 32, :null => false
    t.column :price, :float
    t.column :subject_id, :integer
    t.column :description, :text
    t.column :created_at, :timestamp
     end
  end

  def self.down
    drop_table :books
  end
end
create_table :books do |t|

这一句 没有迭代操作 为什么会有 ruby do |t|这句呢 这里的 ruby do |t|到底是什么意思? 求高人解答

PHP中文网
PHP中文网

认证高级PHP讲师

全員に返信(3)
伊谢尔伦

リーリー

反復ではなくコールバックです。

Ruby のコールバックについて:
http://stackoverflow.com/questions/1677861/how-to-implement-a-callback-in-ruby

Rails の移行について:
http://guides.rubyonrails.org/migrations.html

jQuery で Ajax を実行したことがある場合は、次のような経験があるはずです:

リーリー

$.get()メソッドの戻り値はtest.phpのレスポンスボディで、最初のパラメータはリクエストされたURL、2番目のパラメータはコールバック関数です。この関数はパラメータの値としてtest.phpのレスポンスボディを受け取ります。データを渡し、ポップアップ ウィンドウの表示を渡します。

この移行ステートメントは次のように理解できます。

リーリー
いいねを押す +0
左手右手慢动作

こちら: /q/1010000000266437 すでに戻って、再度ここに移動しました。

リーリー

do|x|...end には特別な意味はなく、{|x|} と同様に、単にブロックを表します。 このコードには反復があり、実際には次のようになります:

リーリー

はい、もちろんこれも合法です:

リーリー

すると括弧が省略できるので上記のようになります。

Ruby がそのような関数を実装するには、次のものだけが必要です:

リーリー

イテレータのより具体的な使用法については、こちらをご覧ください: http://blog.csdn.net/classwang/article/details/4692856

いいねを押す +0
大家讲道理

do ... end はブロックである { ... } と同等であり、Ruby メソッドはブロック パラメーターを受け入れることができます

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート