我试图存储一个Python可以作为字典读入的环境变量.如果这是一个坏主意,请让我知道你的建议,我渴望学习.我担心如果我将数据存储为多个环境变量,可能会变得难以管理.
我编写了一个Raspberry Pi解锁门,根据来电号码拨打Twilio号码的来电ID,它运行良好.我想在Github上分享我的代码以获得反馈,但我不想与世界分享我的电话号码列表,因此我试图将其保存为环境变量,然后让Python读取它.
电话号码在这样的Python字典中.
building_admins = {
"+27792955555": "De Wet",
"+27722855555": "Marysol",
"+27878085555": "Blomerus",
}
Run Code Online (Sandbox Code Playgroud)
我试图在Ubuntu 14.04上将其保存为环境变量
export BUILDING_ADMINS='{
"+27792955555": "De Wet",
"+27722855555": "Marysol",
"+27878085555": "Blomerus",
}'
Run Code Online (Sandbox Code Playgroud)
1)我无法让Linux保存环境变量,我能做些什么来使它工作?
2)我觉得必须有一个更好的方法来做到这一点,我走错了方向,但我似乎找不到谷歌搜索正在解决我面临的问题.请指出我正确的方向.
我创建了一个为每个实例生成不同名称的类,但是在一个语句中实例化两个实例时,测试意外失败.
这是班级.
class Robot
attr_accessor :name
@@current_name = 'AA000'
def initialize
@name = @@current_name
@@current_name.next!
end
end
Run Code Online (Sandbox Code Playgroud)
这里的类表现如预期
irb(main):009:0> Robot.new.name
=> "AA001"
irb(main):010:0> Robot.new.name
=> "AA002"
Run Code Online (Sandbox Code Playgroud)
这是我所期待的意外行为false.这段代码正在测试我试图通过的练习,所以我不能改变测试.
irb(main):011:0> Robot.new.name == Robot.new.name
=> true
Run Code Online (Sandbox Code Playgroud)
检查object_id显示正在创建两个不同的实例.
irb(main):012:0> Robot.new.object_id == Robot.new.object_id
=> false
Run Code Online (Sandbox Code Playgroud)
为什么Ruby会这样做,我该怎么做才能修复它并假设有一个术语,我可以在搜索中键入什么来查找有关此问题的已回答问题.