是否可以为作为数组的类创建属性?我试过读这个,但我没有太多的东西.我想做这样的事情:
class CreateArches < ActiveRecord::Migration
def change
create_table :arches do |t|
t.string :name
t.array :thearray
t.timestamps
end
end
end
Run Code Online (Sandbox Code Playgroud)
这样当我在Arch的一个实例上调用.thearray时,我会得到一个可以添加新元素的数组.
ruby-1.9.2-p290 :006 > arc = Arch.new
ruby-1.9.2-p290 :007 > arc.thearray
=> []
Run Code Online (Sandbox Code Playgroud) 我想在Mathematica中使用迭代名称创建多个变量,如下所示:
Do["f" <> ToString[i] = i*2, {i, 1, 20}]
Run Code Online (Sandbox Code Playgroud)
我得到f1 = 2,f2 = 4,f3 = 6等...
我的错误:
Set :: write:f <> 1中的标记StringJoin受保护。>>
任何帮助都会很棒。谢谢!
我正在尝试初始化和实例变量作为数组,如下所示:
class Arch < ActiveRecord::Base
attr_accessor :name1
def initialize
@name1 = []
end
def add_name1(t)
@name1 << t
end
end
Run Code Online (Sandbox Code Playgroud)
当我在控制台会话中尝试Arch.new时,我得到(Object不支持#inspect).这是怎么回事?如何创建实例数组变量?我试图按照这种像这样:
class Arch < ActiveRecord::Base
attr_accessor :name1
def after_initialize
@name1 = []
end
def add_name1(t)
@name1 << t
end
end
Run Code Online (Sandbox Code Playgroud)
而我的@ name1仍然是一个NilClass.:/
更新:
我有一个数据列表图,我想收集圆形图形的特定边界内的所有数据点,该图形与Mathematica中的列表图重叠.
这样的事情可能吗?
我制作的椭圆是这种形式
{c, s, \[Theta]} =
1 /. ComponentMeasurements[f, {"Centroid", "SemiAxes", "Orientation"}]
Show[Rasterize[p], Graphics[{Red, Rotate[Circle[c, s], \[Theta]]}]]
Run Code Online (Sandbox Code Playgroud)
你能帮助我将你最底层的解决方案融入到我可以用Centroid,SemiAxes和Orientation属性输入我的椭圆的形式吗?