草庐IT

initializing

全部标签

ruby - 有什么方法可以用 "initialise"而不是 "initialize"来初始化对象?

所以,因为我是英国人,所以我总是使用名称initialise()初始化对象,并且经常收到错误Errorininitialize:(wrongnumberofarguments(givenn,expected0))。我可以做一些元编程来为所有尝试调用initialize()的对象制作initialize()吗? 最佳答案 这样的事情可能会奏效;但是任何阅读或使用您的代码的人都可能讨厌您。:PclassBasicObjectaliasamerican_initializeinitializeprivatedefinitialize(*a

ruby - 是什么导致了 "already initialized constant"警告?

我的代码有什么问题?FileNameArray是否被重用?f.rb:17:警告:已初始化常量FileNameArraynumber=0whilenumber 最佳答案 你可能是ruby​​初学者,我尝试用ruby​​方式重写相同的代码......(1..99).eachdo|number|Dir.glob("/home/product/"+("%04d"%numbers)+"/*/*.txt").eachdo|file_name|File.open(file_name,"r:utf-8").eachdo|txt|nextunless

ruby-on-rails - 使用 Rails find_or_initialize_by_email,如何确定记录是否已找到或已初始化?

在我的一个Controller中,我正在做:user=User.find_or_initialize_by_email(@omniauth['info']['email'])然后我需要知道记录是否已找到或已初始化。我试过这个:ifuserelseend但这行不通,因为总会有用户。知道查找或初始化是否已找到或已初始化的正确方法是什么? 最佳答案 您应该能够使用persisted?:ifuser.persisted?edgeguides.rubyonrails.org以下是关于find_or_initialize_by的内容:Thefi

ruby - 在 `initialize` 方法之外声明一个实例变量

我被教导用definitialize来声明我的实例变量。我的印象是我只能在我的initialize方法中声明实例变量。尽管如此,我在initialize方法之外声明了一个实例变量@foo,并使其按我的预期工作:classFooBardefinitialize(bar)@bar=barenddeffoo_as_instance_var@foo=@bar.split('')@fooendendx="somethingwickedthiswaycomes"y=FooBar.new(x)putsy.foo_as_instance_var为什么我可以在initialize方法之外声明一个实例变量

ruby-on-rails - 具有属性 : correct way to pass in model 的 Rails 构造函数 "def initialize"

您好,我有一个名为“Listing”的模型。这是模型的构造函数:definitialize(business)puts'insideListing.initialize'@name=business.name@telephone=business.telephoneputs'CreatedanewListing'end我有一个名为“listings_controller”的Controller我有另一个模型叫做“商业”。在“listing_controller”中,我有一个方法,我想在其中实例化一个具有“业务”属性的“列表”。这是在“listings_controller”中执行此操作

ruby-on-rails - 错误 : SELECT DISTINCT ON expressions must match initial ORDER BY expressions

我的要求是得到不同的记录并按顺序User.joins('INNERJOINreport_postsONposts.id=report_posts.post_id').select('DISTINCTON(report_posts.post_id)posts.idasreport_posts.idasreported_id,report_posts.reported_at').order('report_posts.reported_atdesc')我知道这在postgresql中是不可能的,我已经读过这个PostgresqlDISTINCTONwithdifferentORDERBY我

initialize() 中的 Ruby proc 与 lambda

我今天早上发现proc.new在类初始化方法中工作,但不是lambda。具体来说,我的意思是:classTestClassattr_reader:proc,:lambdadefinitialize@proc=Proc.new{puts"HellofromProc"}@lambda=lambda{puts"Hellofromlambda"}endendc=TestClass.newc.proc.callc.lambda.call在上述情况下,结果将是:HellofromProctest.rb:14:in`':undefinedmethod`call'fornil:NilClass(NoM

c++ - 通过 make_unique/make_shared 调用 initializer_list 构造函数

我正在尝试使用std::make_unique来实例化一个类,其构造函数将接收std::initializer_list。这是一个最小的案例:#include#include#include#includestructFoo{Foo(std::initializer_liststrings):strings(strings){}std::vectorstrings;};intmain(int,char**){autoptr=std::make_unique({"Hello","World"});return0;}您可以在Coliru上查看它没有建立:main.cpp:14:56:err

c++ - 通过 make_unique/make_shared 调用 initializer_list 构造函数

我正在尝试使用std::make_unique来实例化一个类,其构造函数将接收std::initializer_list。这是一个最小的案例:#include#include#include#includestructFoo{Foo(std::initializer_liststrings):strings(strings){}std::vectorstrings;};intmain(int,char**){autoptr=std::make_unique({"Hello","World"});return0;}您可以在Coliru上查看它没有建立:main.cpp:14:56:err

ruby - initialize和self.new的区别

抱歉,我不确定如何解释才能解释这个。下面两段代码之间有什么区别(如果有的话)?classFoodefinitalizeendendclassFoodefself.newallocateendend此外,下面两种初始化类的方式有什么区别:Foo.newFoo.allocate 最佳答案 allocate为Foo的实例分配内存,但不初始化它。initialize在已分配的对象上调用以初始化(设置初始值)Foo的实例。new的默认实现调用了这两个:classFoodefself.new(*args,&blk)obj=allocateobj