小编k10*_*107的帖子

初始化ruby singleton

我正在尝试初始化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

ruby singleton initialization rubymotion

6
推荐指数
2
解决办法
1万
查看次数

git检测是否有快速未跟踪的文件

有没有办法快速检测是否有任何未跟踪的文件?

我可以列出所有未跟踪文件的使用

git ls-files --other --directory --exclude-standard
Run Code Online (Sandbox Code Playgroud)

但如果有许多未跟踪的文件,这种情况会很慢.是否存在git diff -q退出状态确定是否存在任何未跟踪文件的情况?

git

6
推荐指数
1
解决办法
4964
查看次数

如何让 Sqlalchemy 在它生成的 sql 中保留列顺序?

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)

python sqlalchemy

6
推荐指数
1
解决办法
1823
查看次数

如何修改tumblr bookmarklet以发布到特定的tumblr博客?

我有几个博客链接到我的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)

javascript blogs bookmarklet tumblr

5
推荐指数
1
解决办法
7929
查看次数

如何将 scala.xml.NodeSeq 转换为 Elem?

我正在尝试减少元素列表

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?

scala

5
推荐指数
1
解决办法
3066
查看次数

在Windows中如何设置Python2的sys.path?

Python文档说,sys.path就是"从环境变量初始化PYTHONPATH,再加上安装相关的默认."

但究竟适用于Windows的"依赖于安装的默认值"是什么?

(我知道这可能取决于如何编译python,但如果我只有二进制文件,有没有办法弄清楚默认sys.path是如何构造的?)

澄清:我不是在问"我的是什么sys.path?".我想知道"Python如何构建sys.path?" 文档说,它sys.pathsys.path[0]作为脚本的当前目录构建的,加上Python在PYTHONPATH环境变量中找到的内容,以及一些依赖于安装的voodoo.那神秘的伏都教部分是什么?

python windows path pythonpath

4
推荐指数
1
解决办法
1992
查看次数

Ruby strftime("%Q")坏了吗?

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?

ruby

3
推荐指数
2
解决办法
1916
查看次数

AmCharts.makeChart和new AmCharts.AmSerialChart();有什么区别?

一些AmCharts 演示使用AmCharts.makeChart

其他AmCharts 演示使用new AmCharts.AmSerialChart();

这两种方法有什么区别?

amcharts

3
推荐指数
1
解决办法
6198
查看次数

当注释掉块内容时出现Bash语法错误:语法错误接近意外令牌`fi'

为什么这个简单的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)

bash

2
推荐指数
1
解决办法
566
查看次数

如何通过重复最后一行来扩展pandas DataFrame?

我有一个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循环,有没有更好的方法来做到这一点?

python pandas

2
推荐指数
1
解决办法
1838
查看次数

flyway 配置文件可以包含其他配置文件吗?

我正在使用 flyway 命令行工具。我想为不同的环境(开发/测试/生产)设置不同的配置设置,但会有一些通用设置。理想情况下可以有一个common.properties配置,以及个别环境特定的配置(例如production.properties

flyway 是否支持以某种方式包含来自多个配置文件的属性?

flyway

1
推荐指数
1
解决办法
2445
查看次数