问题列表 - 第21338页

F#:重载功能

我的问题与这个问题有些相关 - 具有通用参数类型的函数 - 但我无法弄清楚如何做我想要的事情.

我想定义一个'后代函数来包含对各种C#类的'Descendants'的调用,如下所示:

让后代名称(xDocument:XDocument)= xDocument.Descendants名称

让后代命名(xElement:XElement)= xElement.Descendants name

这种方法不起作用,因为我们有'后代'的重复定义.

我认为可以使用内联函数和静态解析参数来定义以下方法来代替:

let inline descendants name (xml : ^x when ^x : (member Descendants : XName -> seq<XElement>)) = 
    xml.Descendants name
Run Code Online (Sandbox Code Playgroud)

但是在尝试这样做时我遇到了这个错误:

根据此程序点之前的信息查找不确定类型的对象.在此程序点之前可能需要类型注释来约束对象的类型.这可以允许解析查找.

有没有办法可以写第二个功能来做我想做的事情?

f#

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

如何开发一个良好的触摸GUI?

我一直在命令行上开发个人使用的应用程序.现在我必须为广大受众开发一个Android应用程序.

如果我现在开始,我会制作和可怕的GUI.我首先需要了解如何在触摸界面上构建清晰,高效和可用的GUI.

有什么建议?

user-interface android

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

Git日志输出搞砸了

当我在某些地方进行git登录时,输出会搞砸,并且不会让我回到命令行.在我的一些回购中,它工作正常.有任何想法吗?输出粘贴在下面:

[server]$ git log
commit c84acb29115822d94fe0112bacfb835911ffaa11
Author: My Name <myname@server.dreamhost.com>
Date:   Sun Feb 14 03:13:05 2010 -0800

   Correct spelling mistake

commit 4f613bdddc2b4965b75914c08017a916fa3d07be
Author: My Name <myname@server.dreamhost.com>
Date:   Sat Feb 13 08:39:52 2010 -0800

   slightly better gradient

commit 96d2a2bb74c287af18a491f616ce784cc30ff1ea
Author: My Name <myname@server.dreamhost.com>
Date:   Sat Feb 13 08:31:15 2010 -0800

   Add gradient background under menu

commit 80fab463530791e6e9ebb06e475b67211b88a8d4
Author: My Name <myname@server.dreamhost.com>
Date:   Fri Feb 12 14:33:04 2010 -0800

   change copy back

commit f0952894251854432a6b960d39460a926c819202
Author: My Name <myname@server.dreamhost.com>
Date:   Fri Feb 12 …
Run Code Online (Sandbox Code Playgroud)

git

10
推荐指数
2
解决办法
1804
查看次数

在.bashrc环境变量中存储Amazon S3凭据会导致Rails应用程序失败

我正在开发一个使用回形针在Amazon S3上存储东西的rails应用程序.该应用程序托管在Heroku上.我正在开发Ubuntu Karmic.

我要描述的问题发生在开发(在我的localhost上)和生产(在Heroku上).


将S3信誉传递给回形针的标准方法是将它们放入config/s3.yml中,如下所示:

access_key_id: 12345678
secret_access_key: 903490409fdf09fshsfdoif/43432
Run Code Online (Sandbox Code Playgroud)

当我这样做时,一切正常.但这使我很难与其他人分享我的代码,因此Heroku建议了另一种方法 - http://docs.heroku.com/config-vars.

他们建议您将S3_KEY和S3_SECRET放入.bashrc中,如下所示:

S3_KEY=12345678
export S3_KEY
S3_SECRET=903490409fdf09fshsfdoif/43432
export S3_SECRET
Run Code Online (Sandbox Code Playgroud)

然后他们建议您创建config/initializers/s3.yml(注意稍微不同的路径)并将以下内容放入该文件中:

AWS::S3::Base.establish_connection!(
  :access_key_id     => ENV['S3_KEY'],
  :secret_access_key => ENV['S3_SECRET']
)
Run Code Online (Sandbox Code Playgroud)

但是,当我这样做时,paperclip抛出一个摇摆器并吐出以下错误信息:

undefined method `stringify_keys' for #<String:0xb6d6c3f4>

/vendor/plugins/paperclip/lib/paperclip/storage.rb:176:in `parse_credentials'
/vendor/plugins/paperclip/lib/paperclip/storage.rb:138:in `extended'
/vendor/plugins/paperclip/lib/paperclip/storage.rb:137:in `instance_eval'
/vendor/plugins/paperclip/lib/paperclip/storage.rb:137:in `extended'

.... other stuff 
Run Code Online (Sandbox Code Playgroud)

很明显,这一切都在storage.rb模块中开始.单步执行堆栈跟踪:

标记了第176行的parse_credentials方法 - 这是代码中显示的调用:

def parse_credentials creds
  creds = find_credentials(creds).stringify_keys
  (creds[RAILS_ENV] || creds).symbolize_keys
end
Run Code Online (Sandbox Code Playgroud)

parse_credentials方法尝试调用另一个方法find_credentials,这就是我认为问题所在.下面是find_credentials的代码:

def find_credentials creds
    case creds
    when File
      YAML::load(ERB.new(File.read(creds.path)).result)
    when String
      YAML::load(ERB.new(File.read(creds)).result)
    when Hash
      creds
    else
      raise ArgumentError, "Credentials are …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails heroku environment-variables amazon-s3

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

项目欧拉问题#276 - 原始三角形

我试图从Project Euler解决问题#276,但到目前为止还没有成功.

考虑具有整数边a,b和c的三角形,其中a≤b≤c.如果gcd(a,b,c)= 1,则整数边三角形(a,b,c)称为基元.存在多少个原始整数边三角形,周长不超过10 000 000?

我的代码中的瓶颈是GCD功能.我的样本输入几乎占用了90%的执行时间.我很想听听关于如何改进解决方案的提示和评论...我的解决方案是用C语言编写的,但它很简单:

#include <stdio.h>
#include <math.h>

#define sides 3
// This is where my program spends most of its time
size_t bi_gcd (size_t a, size_t b);
size_t tri_gcd (size_t a, size_t b, size_t c);
size_t count_primitive_triangles (size_t maximum_perimeter);

int main()
{
 printf( "primitive_triangles = %lu \n",
            count_primitive_triangles(1000) );
}

size_t bi_gcd (size_t a, size_t b)
{
 size_t t;

 while(b != 0)
 {
  t = b;
  b = a % …
Run Code Online (Sandbox Code Playgroud)

c algorithm math performance

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

如何动态地使用Grails 1.2渲染复杂的JSON?

我想使用Grails中的JSON渲染方法渲染复杂类型,类似于下面的JSON输出:

{"authors":[{"id":1,"name":"Author 1","books":[{"id":1,"name":"Book 1"},{"id":2,"name":"Book 2"}]},{"id":2,"name":"Author 2","books":[{"id":1,"name":"Book 1"},{"id":2,"name":"Book 2"}]}]}
Run Code Online (Sandbox Code Playgroud)

我尝试使用以下代码执行此操作,其中Author和Book是包含属性id和name以及Author hasMany Books(association)的域类.

def results = Authors.list()
render(contentType:"text/json") {
  authors = array {
    for(a in results) {
      author id:a.id, name:a.name, books: array = {
        def bookresults = Book.findAllByAuthor(a)
        for(b in bookresults) {
          book id:b.id, name:b.name
        }
      }
    }
  }    
}
Run Code Online (Sandbox Code Playgroud)

它仅适用于作者,但是当我尝试遍历每个作者的书籍并渲染它们时,代码就会失败.

有任何想法吗?

最终代码更新了问题

感谢Dave的回答,我最终得到了以下代码,它按预期工作:

def authors = []

for (a in Author.list()) {
  def books = []
  def author = [id:a.id, name:a.name, books:books]

  for (b in Book.findAllByAuthor(a)) {
    def book = [id:b.id, …
Run Code Online (Sandbox Code Playgroud)

grails json

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

如何使文本文件有多个编码?

我有一个ANSI编码的文件.但是它里面显示阿拉伯字母.这个文本文件是由一些程序生成的(我没有信息),但似乎有某种内部编码(如果我可能会说,如果可能的话),阿拉伯字母就会出现.

有这样的事吗?如果没有,ANSI文件如何显示阿拉伯字母?

*如果可能,请在Java代码中解释


第01版

当我在Notepad ++中打开它时,它显示页面编码是ANSI.请查看此照片:

http://www.4shared.com/file/221862075/e8705951/text-Windows.html


第02版

你可以从以下位置检查文件:

http://www.4shared.com/file/221853641/3fa1af8c/data.html

java encoding ansi utf-8 arabic

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

SQL:标记哪个 WHERE 条件匹配

这是一个理论问题,我想知道是否有一个好的方法来找出 WHERE 语句中的哪个条件匹配。

假设我有一个这样的查询:

SELECT * FROM table WHERE
    COND1 OR
    (COND2 AND COND3) OR
    COND4
Run Code Online (Sandbox Code Playgroud)

有什么方法可以知道哪些条件使给定的行匹配(或不匹配)?


我想到的一个解决方案是向 SELECT 添加 CASE 子句,并重新运行该行的所有 WHERE 条件:

SELECT *, which_cond = CASE .... END CASE ...
Run Code Online (Sandbox Code Playgroud)

mysql sql sql-server oracle

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

无法使用已与其基础RCW分离的COM对象

我有一些COM组件,我从一些c#dll调用.

我还有一个使用该.dll的winforms应用程序.

当我关闭应用程序时,我得到以下异常:

无法使用已与其基础RCW分离的COM对象.

堆栈跟踪显示此异常来自.dll中的析构函数.我实现了这个析构函数来调用COM中的一些清理方法.

为什么会这样?如何最好地解决它?

c# com multithreading interop winforms

46
推荐指数
1
解决办法
8万
查看次数

如何在Tkinter中调整根窗口的大小?

from Tkinter import *
import socket, sys
from PIL import Image, ImageTk

root = Tk()
root.title("Whois Tool")
root.resizable(0, 0)

text = Text()
text1 = Text()

image = Image.open("hacker2.png")
photo = ImageTk.PhotoImage(image)

label = Label(root, image=photo)
label.pack()


text1.config(width=15, height=1)
text1.pack()

def button1():
        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        s.connect(("com.whois-servers.net", 43))
        s.send(text1.get("1.0", END) + "\r\n")
        response = ''
        while True:
            a = s.recv(4096)
            response += a
            if a == '':
                break
        s.close()
        text.insert(END, response)

def clear():
        text.delete("1.0", END)


b = Button(root, text="Enter", width=10, height=2, …
Run Code Online (Sandbox Code Playgroud)

python tkinter

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