小编Chr*_*ris的帖子

将委派方法设为私有

我委托了几种方法,并希望它们都是私有的.

class Walrus
  delegate :+, :to => :bubbles

  def bubbles
    0
  end
end
Run Code Online (Sandbox Code Playgroud)

我可以说private :+,但我必须为每种方法做到这一点.有没有办法返回委托方法列表或委托创建私有方法?

ruby delegates activesupport

17
推荐指数
2
解决办法
2401
查看次数

使用列表作为列中的数据类型(SQLAlchemy)

我想在sqlite db中存储rss feed url列表.我正在使用SQLAlchemy,并想知道如何存储这些.我似乎无法找到任何关于列表的文档,并想知道这对于列是否合法:Column('rss_feed_urls',List)

或者是否有我可以使用的数组类型?

python sqlalchemy

16
推荐指数
4
解决办法
3万
查看次数

"|| ="运算符与CoffeeScript中的"?="有何不同?

这两者有什么区别?从Ruby开始,apple ||= walrus只有当apple为null 时,我习惯将apple设置为等于walrus.这似乎在JS/CS中是相同的,但是?=似乎做同样的事情.令我困惑的是:

apple = 0
walrus = 9
apple ?= walrus // outputs 0
apple ||= walrus // outputs 9
Run Code Online (Sandbox Code Playgroud)

operators assignment-operator coffeescript

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

/etc/nginx/nginx.conf:4中的未知指令"server"

使用nginx/0.7.65我在第4行收到此错误.为什么它不识别server

#### CHAT_FRONT ####

server {
  listen 7000 default deferred;
  server_name example.com;
  root /home/deployer/apps/chat_front/current/public;

  location ^~ /assets/ {
    gzip_static on;
    expires max;
    add_header Cache-Control public;
  }

  error_page 500 502 503 504 /500.html;
  client_max_body_size 4G;
  keepalive_timeout 10;
}

#### CHAT_STORE ####

server {
  listen 7002 default deferred;
  server_name store.example.com;
  root /home/deployer/apps/chat_store/current/public;

  error_page 500 502 503 504 /500.html;
  client_max_body_size 4G;
  keepalive_timeout 10;
}

#### LOGIN ####

server {
  listen 7004 default deferred;
  server_name login.example.com;
  root /home/deployer/apps/login/current/public;

  location ^~ /assets/ { …
Run Code Online (Sandbox Code Playgroud)

nginx

15
推荐指数
2
解决办法
5万
查看次数

Java ArrayList语法错误

我在将这个ArrayList声明为Java中的实例变量时遇到错误.

private ArrayList<char> correctGuesses = new ArrayList<char>();
Run Code Online (Sandbox Code Playgroud)

错误:

Syntax error on token char, Dimension expected after this token
Run Code Online (Sandbox Code Playgroud)

我可以不使用char类型创建ArrayLists吗?

java arraylist

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

在Heroku上部署现有的Django应用程序

遵循Heroku教程,但我已经创建了一个相当复杂的Django应用程序,我想上传.我已将其复制到一个新文件夹并git init成功发布,同时将文件添加到提交中.我这样做heroku create --stack cedar,我得到一个网站,然后发出git push heroku master.我得到以下内容:

Counting objects: 6756, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (5779/5779), done.
Writing objects: 100% (6756/6756), 6.98 MiB | 953 KiB/s, done.
Total 6756 (delta 2210), reused 0 (delta 0)

-----> Heroku receiving push
-----> Removing .DS_Store files
-----> Python app detected
 !     Django app must be in a package subdirectory
 !     Heroku push rejected, failed to compile Python app

To git@heroku.com:sitename.git …
Run Code Online (Sandbox Code Playgroud)

python git django heroku

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

在Ruby的情况下使用带有正则表达式匹配的命名Captures ......什么时候?

我想使用命名捕获来解析用户输入以提高可读性.

当他们键入命令时,我想捕获一些参数并传递它们.我在case语句中使用RegExps,因此我无法分配返回值/pattern/.named_captures.

这是我希望能够做到的(例如):

while command != "quit"
  print "Command: "
  command = gets.chomp
  case command
  when /load (?<filename>\w+)/
    load(filename)
  end
end
Run Code Online (Sandbox Code Playgroud)

ruby regex capture switch-statement

12
推荐指数
2
解决办法
3917
查看次数

Erlang函数已经使用guard子句定义

编写一个递归函数,我想要一个fn,当列表有元素时执行,另一个fn在它为空时执行:

 transfer(Master, [H|Tail]) ->
  Master ! {transfer, H},
  transfer(Master, Tail).

transfer(_Master, []) ->
  nil.
Run Code Online (Sandbox Code Playgroud)

我得到的问题是src/redis/redis_worker.erl:13: function transfer/2 already defined.我理解它对两个具有相同名称和arity的函数感到不安,但这两个函数应该是不同的.

erlang

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

确定一个数组是否包含另一个数组的所有元素

我需要告诉一个数组是否包含具有重复项的另一个数组的所有元素.

[1,2,3].contains_all? [1,2]   #=> true
[1,2,3].contains_all? [1,2,2] #=> false (this is where (a1-a2).empty? fails)
[2,1,2,3].contains_all? [1,2,2] #=> true
Run Code Online (Sandbox Code Playgroud)

因此第一个数组必须包含第二个数组中每个唯一元素的数量或相等数量.

对于那些使用数组作为集合的人来说,这个问题可以解决它,但是我需要控制重复数据.

更新:基准

在Ruby 1.9.3p194上

def bench
  puts Benchmark.measure {
    10000.times do
      [1,2,3].contains_all? [1,2]
      [1,2,3].contains_all? [1,2,2]
      [2,1,2,3].contains_all? [1,2,2]
    end
  }
end
Run Code Online (Sandbox Code Playgroud)

结果是:

Rohit   0.100000   0.000000   0.100000 (  0.104486)
Chris   0.040000   0.000000   0.040000 (  0.040178)
Sergio  0.160000   0.020000   0.180000 (  0.173940)
sawa    0.030000   0.000000   0.030000 (  0.032393)
Run Code Online (Sandbox Code Playgroud)

更新2:更大的阵列

@a1 = (1..10000).to_a
@a2 = (1..1000).to_a
@a3 = (1..2000).to_a

def …
Run Code Online (Sandbox Code Playgroud)

ruby arrays

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

带类的Clojure案例陈述

我想打开给定对象的类以对其进行编码.

(defn encoded-msg-for [msg]
  (case (class msg)
    java.lang.Double   (encode-double msg)
    java.lang.String   (encode-str msg)
    java.lang.Long   (encode-int msg)
    java.lang.Boolean  (encode-bool msg)
    clojure.lang.PersistentArrayMap (encode-hash msg)
    clojure.lang.PersistentVector (encode-vec msg)
    nil "~"
  )
 )
Run Code Online (Sandbox Code Playgroud)

当我打电话时(encoded-msg-for {}),它会返回No matching clause: class clojure.lang.PersistentArrayMap

奇怪的是,将案例放入哈希映射(将类作为键和字符串作为值)非常有效.

也是的,(= (class {}) clojure.lang.PersistentArrayMap)是的.在这里进行了什么比较,我如何切换对象本身的类或(更好)在其层次结构中的某些东西?

class clojure switch-statement

9
推荐指数
2
解决办法
2942
查看次数