>  Q&A  >  본문

ruby-on-rails - ruby中do关键字的用法

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中文网2712일 전1024

모든 응답(3)나는 대답할 것이다

  • 伊谢尔伦

    伊谢尔伦2017-04-21 11:18:31

    으아아아

    반복이 아니라 콜백입니다.

    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의 응답 본문이고, 두 번째 매개 변수는 콜백 함수입니다. 이 함수는 test.php의 응답 본문을 받아들입니다. 매개변수 데이터의 값이 팝업창을 통해 표시됩니다.

    이 마이그레이션 설명을 이렇게 이해할 수 있습니다.

    으아아아

    회신하다
    0
  • ringa_lee

    ringa_lee2017-04-21 11:18:31

    여기: /q/1010000000266437 이미 갔다가 다시 여기로 옮겼습니다.

    으아악

    do|x|...end에는 특별한 의미가 없습니다. {|x|}처럼 블록을 나타낼 뿐입니다. 이 코드에는 반복이 있으며 실제로는 다음과 유사합니다.

    으아악

    물론 이것도 합법적입니다.

    으아악

    그러면 괄호를 생략할 수 있어서 위와 같이 됩니다.

    Ruby에서 이러한 기능을 구현하려면 다음이 필요합니다.

    으아악

    반복자의 더 구체적인 사용법은 다음을 참조하세요: http://blog.csdn.net/classwang/article/details/4692856

    회신하다
    0
  • 大家讲道理

    大家讲道理2017-04-21 11:18:31

    do ... end는 블록인 { ... }와 동일합니다. Ruby 메소드는 블록 매개변수를 허용할 수 있습니다

    회신하다
    0
  • 취소회신하다