问题列表 - 第48285页

Haskell基本函数定义问题

我正在学习Haskell,我正在尝试编写一个函数来返回一个数字的因子列表.这就是我所拥有的:

factors :: Int -> [Int]
factors n = [x | x <- [2..s], n `mod` x == 0]
    where s = floor (sqrt n)
Run Code Online (Sandbox Code Playgroud)

当我尝试加载模块时ghci,我收到两个错误,

p003.hs:3:14:
    No instance for (RealFrac Int)
      arising from a use of `floor' at p003.hs:3:14-27
    Possible fix: add an instance declaration for (RealFrac Int)
    In the expression: floor (sqrt n)
    In the definition of `s': s = floor (sqrt n)
    In the definition of `factors':
        factors n = [x | x <- [2 …
Run Code Online (Sandbox Code Playgroud)

haskell function definition

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

Erlang HTTP客户端:inets或ibrowse或......?

我正在使用Erlang,需要提出有效的HTTP请求.

Erlang/OTP的当前"标准"HTTP客户端是什么?

它是无效的还是ibrowse还是完全不同的东西?

任何建议或指示赞赏.

erlang erlang-otp inets

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

将$ db对象传递给其他类,以便它们可以访问数据库

我有一个PHP数据库类连接到MySQL并包装所有的PDO代码,我用它来查询数据库.基本上在页面控制器中我创建了一个新对象:

$db = new Database($dbConfig);
Run Code Online (Sandbox Code Playgroud)

然后我可以使用准备好的查询从数据库中获取数据:

$params = array('username' => $username);
$result = $db->preparedSelect('select password, salt from users where username = :username', $params);
Run Code Online (Sandbox Code Playgroud)

它将PDO语句结果复制到新的assoc数组中,并仅将数据库结果返回给调用页面.我用一个简单的foreach迭代它们,如下所示:

foreach ($result as $key => $val)
{
   $password = $val['password'];
   $salt = $val['salt'];
}
Run Code Online (Sandbox Code Playgroud)

好吧,假设我想让另一个类使用我的$ db对象,以便它可以在某些方法中访问数据库.目前另一堂课看起来像这样:

class General
{
    // Database object
    private $db;

    public function __construct($db)
    {
        $this->db = $db;
    }
}
Run Code Online (Sandbox Code Playgroud)

这很好但我只是想知道构造函数应该是这样的:

public function __construct(&$db)
{
    $this->db = $db;
}
Run Code Online (Sandbox Code Playgroud)

这应该意味着我通过引用传递它而不是将对象复制到另一个类中.我不想$ db对象的副本类中,我希望它使用现有的数据库对象,所以我没有它的多个拷贝流传使用内存.

在以$ db或&$ db传递它之间PHP5有什么区别吗?从做一些阅读来看,PHP5默认情况下通过引用传递对象,其他人说现在用Java方式做,有些人说使用&做了一个硬链接.我糊涂了.最好的方法是什么?

非常感谢!

php database oop pass-by-reference

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

使用ajax调用控制器无法找到控制器

我试图通过ajax调用一个控制器而没有太多运气.我在我的观点中创建了这个

    <input type="submit" id="preview-email" value="Preview Email" />

   <script type="text/javascript">
    $("#preview-email").click(function () {
        var p = { "email": "1223" };
        $.ajax({
            url: '/BusinessController/PreviewEmail',
            type: "POST",
            data: p,
            dataType: "json",
            contentType: "application/json; charset=utf-8",
            success: function (data) {
                alert(data);
            },
            error: function () {
                alert("error");
            }
        });
    });


</script>
Run Code Online (Sandbox Code Playgroud)

我的控制器

 [HttpPost]
    public ActionResult PreviewEmail(string email)
    {
      //  string d = ViewData["editor"].ToString();
        string e = System.Web.HttpUtility.HtmlDecode(email);
        EmailModel model = new EmailModel() { EmailBody = e };
        return PartialView("_PreviewEmail", model);
    }
Run Code Online (Sandbox Code Playgroud)

打开提琴手告诉我它是500错误.我做错了什么?我在我的控制器上放置了一个断点,但它没有那么远

asp.net-mvc-3

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

为什么cin.getline()跳过每一行的第一个单词?

我试图逐行显示命令行输入文本文件的文本.但由于某种原因,它会在第一行之后跳过每行中的第一个单词.

码:

using std::cout;  
using std::cin;  
using std::endl;  

int main (int args, char* argv[])  
{   
 char x[100];  
 char y[100];  
 char z[100];  
 cin.getline(x,100) >> argv[2];  
 cin.getline(y,100) >> argv[2];  
 cin.getline(z,100) >> argv[2];  
 cout << x <<endl;  
 cout << y <<endl;  
 cout << z <<endl;  
 return 1;  
}  
Run Code Online (Sandbox Code Playgroud)

运行./a.out <moby.txt显示:

CHAPTER 1. Loomings. 

me Ishmael. Some years ago--never mind how long precisely--having  
or no money in my purse, and nothing particular to interest me on
Run Code Online (Sandbox Code Playgroud)

但是moby.txt中的前三行是这样的:

CHAPTER 1. Loomings.

Call me Ishmael. Some …
Run Code Online (Sandbox Code Playgroud)

c++ cin

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

Spring MVC Annotations

我已经多次使用Spring的文档,但我似乎无法使@Controller等注释工作.

我在我的POM中加载依赖项和存储库(...是我的具体值):

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>...</groupId>
  <artifactId>...</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>war</packaging>

  <name>...</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <org.springframework.version>3.0.5.RELEASE</org.springframework.version>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.5</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>org.springframework.context</artifactId>
      <version>${org.springframework.version}</version>
      <scope>runtime</scope>
   </dependency>
   <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>org.springframework.web.servlet</artifactId>
      <version>${org.springframework.version}</version>
      <scope>runtime</scope>
   </dependency>
  </dependencies>

  <repositories>
    <repository>
        <id>com.springsource.repository.bundles.release</id>
        <url>http://repository.springsource.com/maven/bundles/release/</url>
    </repository>
    <repository>
        <id>com.springsource.repository.bundles.external</id>
        <url>http://respoitory.springsource.com/maven/bundles/external</url>
    </repository>
  </repositories>
</project>
Run Code Online (Sandbox Code Playgroud)

在我的web.xml中,我正在设置调度程序servlet:

<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
         version="2.4">

    <servlet>
        <servlet-name>DispatcherServlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>/WEB-INF/servlet-context.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>DispatcherServlet</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

</web-app>
Run Code Online (Sandbox Code Playgroud)

在WEB-INF下我有servlet-context.xml(...是我的控制器包): …

java eclipse maven-2 spring-mvc spring-annotations

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

两个班可以互相交往吗?

我还没有找出具体案例.但我即将着手编写一些我认为最终需要这些代码的代码; 所以我想知道是否:

  1. 两个班级可以互相交流; 这样他们就可以自由地访问另一方的私人和受保护的成员(我相信答案是肯定的,当然我可以简单地尝试一下!).任何详细的参考或其他问题链接与答案也非常欢迎.我知道前向声明并包括防护编译器预指令及其使用.我的问题与C++语言的语义有很大关系,因为它可以提供关于这种相互友谊的可能性以及如何正确使用它的可能性.
  2. 这通常是推荐的吗?人们经常使用这种设计吗?在什么情况下这将是推荐的设计(最好有一些例子).

c++

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

在Cygwin中设置LD_LIBRARY_PATH

我正在按照教程:http://java.sun.com/developer/onlineTraining/Programming/JDCBook/jniexamp.html

当我到达我应该设置库路径的部分时:

Unix或Linux:

LD_LIBRARY_PATH=`pwd`
export LD_LIBRARY_PATH
Run Code Online (Sandbox Code Playgroud)

Windows NT/2000/95:

set PATH=%path%;
Run Code Online (Sandbox Code Playgroud)

这些都不适用于cygwin.我在尝试运行程序时遇到错误.

cygwin path

4
推荐指数
2
解决办法
8221
查看次数

是否有解决方法在Ruby中打开包含下划线的URL?

我正在使用open-uri来打开URL.

resp = open("http://sub_domain.domain.com")
Run Code Online (Sandbox Code Playgroud)

如果它包含下划线,我会收到一个错误:

URI::InvalidURIError: the scheme http does not accept registry part: sub_domain.domain.com (or bad hostname?)

我理解这是因为根据RFC URL只能包含字母和数字.有没有解决方法?

ruby open-uri

32
推荐指数
4
解决办法
2万
查看次数

如何实现SAX处理程序的character()函数以最小化内存使用?

我在我的Android应用程序中实现了一个java SAX解析器.

我已经完成了所有工作,但我正在尝试优化一个小块,它可以吸收更多需要的内存.

这是我目前(我知道效率很低)DefaultHandler的character()函数的实现.

String currentText = "";

    @Override
public void characters(char[] ch, int start, int length)
{
    if(currentText.length() > 0)
    {
        currentText = currentText.concat(new String(ch, start, length));
    }else
    {
        //Takes half as much memory as concating to empty string
        currentText = new String(ch, start, length);
    }
}
Run Code Online (Sandbox Code Playgroud)

基本上,当SAX遇到元素内的文本时,会调用此函数.重要的是要注意,整个文本不能保证一次解析,因此必须将新字符附加到当前currentText中的任何文本(请注意,currentText在每个元素的末尾设置为"").

我只是把这些代码放在一起使它工作,所以我可以测试我的解析器的其余部分,但这需要进行优化.

关于如何实现这个以尽可能少使用内存的任何建议?

java string optimization android sax

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