我正在尝试初始化ruby中的单例.这是一些代码:
class MyClass
attr_accessor :var_i_want_to_init
# singleton
@@instance = MyClass.new
def self.instance
@@instance
end
def initialize # tried 1. initialize, 2. new, 3. self.initialize, 4. self.new
puts "I'm being initialized!"
@var_i_want_to_init = 2
end
end
Run Code Online (Sandbox Code Playgroud)
问题是从不调用initialize,因此单例永远不会初始化.我尝试命名init方法initialize,self.initialize,new和self.new.没有任何效果."我正在初始化"从未打印过,变量从未在我实例化时初始化
my_var = MyClass.instance
Run Code Online (Sandbox Code Playgroud)
如何设置单例以使其初始化?帮助赞赏,
Pachun
有没有办法快速检测是否有任何未跟踪的文件?
我可以列出所有未跟踪文件的使用
git ls-files --other --directory --exclude-standard
Run Code Online (Sandbox Code Playgroud)
但如果有许多未跟踪的文件,这种情况会很慢.是否存在git diff -q
退出状态确定是否存在任何未跟踪文件的情况?
Sqlalchemy 在为表生成 sql 时似乎没有保留列顺序。如何让 sqlalchemy 使用与定义列相同的顺序?
例子:
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Table, MetaData, Column, BigInteger, Integer, String, MetaData, ForeignKey, Date, DateTime
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
Base = declarative_base()
class MyTable(Base):
__tablename__ = "my_table"
id = Column(BigInteger, primary_key=True)
col1 = Column(String(20), name="col1")
col2 = Column(Integer)
col3 = Column(BigInteger, name="col_3")
engine = create_engine('sqlite:///foo.db')
Session = sessionmaker(engine)
db = Session()
print(db.query(MyTable).statement.compile(engine))
Run Code Online (Sandbox Code Playgroud)
输出是:
SELECT my_table.col_3, my_table.id, my_table.col1, my_table.col2
FROM my_table
Run Code Online (Sandbox Code Playgroud)
代替
SELECT my_table.id, my_table.col1, my_table.col2, my_table.col_3
FROM …
Run Code Online (Sandbox Code Playgroud) 我有几个博客链接到我的Tumblr帐户,但书签总是选择我的"主要"博客(列表中的第一个).
如何修改书签以便自动选择特定博客?我想有多个bookmarklet链接,例如"在blog1上分享","在blog2上分享",这样我就不必手动选择要创建帖子的博客了.
默认Tumblr bookmarklet如下所示:
javascript: var d = document,
w = window,
e = w.getSelection,
k = d.getSelection,
x = d.selection,
s = (e ? e() : (k) ? k() : (x ? x.createRange().text : 0)),
f = 'http://www.tumblr.com/share',
l = d.location,
e = encodeURIComponent,
p = '?v=3&u=' + e(l.href) + '&t=' + e(d.title) + '&s=' + e(s),
u = f + p;
try {
if (!/^(.*\.)?tumblr[^.]*$/.test(l.host)) throw (0);
tstbklt();
} catch (z) {
a = function …
Run Code Online (Sandbox Code Playgroud) 我正在尝试减少元素列表
List(1, 2, 3).map{n => <a>{n}</a>}.reduce{(a,b)=> a ++ b}
Run Code Online (Sandbox Code Playgroud)
但我收到这个错误
<console>:8: error: type mismatch;
found : scala.xml.NodeSeq
required: scala.xml.Elem
List(1, 2, 3).map{n => <a>{n}</a>}.reduce{(a,b)=> a ++ b}
Run Code Online (Sandbox Code Playgroud)
如何将 NodeSeq 转换为 Elem?
在Python文档说,sys.path
就是"从环境变量初始化PYTHONPATH
,再加上安装相关的默认."
但究竟适用于Windows的"依赖于安装的默认值"是什么?
(我知道这可能取决于如何编译python,但如果我只有二进制文件,有没有办法弄清楚默认sys.path
是如何构造的?)
澄清:我不是在问"我的是什么sys.path
?".我想知道"Python如何构建sys.path?" 文档说,它sys.path
是sys.path[0]
作为脚本的当前目录构建的,加上Python在PYTHONPATH
环境变量中找到的内容,以及一些依赖于安装的voodoo.那神秘的伏都教部分是什么?
该strftime
文档声称%Q
工作原理:
%Q - Number of milliseconds since 1970-01-01 00:00:00 UTC.
Run Code Online (Sandbox Code Playgroud)
但它为我返回"%Q".
2.1.1 :054 > date = Time.now
=> 2014-06-10 12:28:57 -0700
2.1.1 :055 > date.strftime("%Q")
=> "%Q"
Run Code Online (Sandbox Code Playgroud)
我正在使用RVM和Ruby 2.1.1.
我做错了什么,或者这是一个Ruby bug?
为什么这个简单的if语句会导致语法错误?
#!/bin/bash
if [[ 1 == 1 ]] ; then
# echo "hello"
fi
Run Code Online (Sandbox Code Playgroud)
错误是
第5行:意外标记'fi'附近的语法错误
如果取消注释回声,它将按预期工作.
谢谢,修复错误使用:
.傻傻的.= P
#!/bin/bash
if [[ 1 == 1 ]] ; then
:# echo "hello"
fi
Run Code Online (Sandbox Code Playgroud) 我有一个DataFrame,并希望通过重复最后一行n次来扩展它.
示例代码:
import pandas as pd
import numpy as np
dates = date_range('1/1/2014', periods=4)
df = pd.DataFrame(np.eye(4, 4), index=dates, columns=['A', 'B', 'C', 'D'])
n = 3
for i in range(n):
df = df.append(df[-1:])
Run Code Online (Sandbox Code Playgroud)
所以df是
A B C D
2013-01-01 1 0 0 0
2013-01-02 0 1 0 0
2013-01-03 0 0 1 0
2013-01-04 0 0 0 1
2013-01-04 0 0 0 1
2013-01-04 0 0 0 1
2013-01-04 0 0 0 1
Run Code Online (Sandbox Code Playgroud)
没有for循环,有没有更好的方法来做到这一点?
我正在使用 flyway 命令行工具。我想为不同的环境(开发/测试/生产)设置不同的配置设置,但会有一些通用设置。理想情况下可以有一个common.properties
配置,以及个别环境特定的配置(例如production.properties
)
flyway 是否支持以某种方式包含来自多个配置文件的属性?
python ×3
ruby ×2
amcharts ×1
bash ×1
blogs ×1
bookmarklet ×1
flyway ×1
git ×1
javascript ×1
pandas ×1
path ×1
pythonpath ×1
rubymotion ×1
scala ×1
singleton ×1
sqlalchemy ×1
tumblr ×1
windows ×1