小编Omn*_*Owl的帖子

Book中的代码不起作用

我正在学习D并且正在采取婴儿步骤,所以请耐心等待我.

我正在读这本名为"D编程语言"的书.我正在使用D-IDE代码.我目前正在编写一个程序,如果该书还没有这个单词,它应该在它的词汇表(词典)中添加单词.

但问题是,本书提供的代码无效,而不仅仅是继续阅读结果应该是什么等等.我想尝试解决它.当然是我对D这么新的问题.

代码看起来像这样:

import std.stdio, std.string;

void main() {
    uint[string] dictionary;
    foreach(line; stdin.byLine()) {
    // Break sentence into words
    // Add each word in the sentence to the vocabulary
        foreach(word; splitter(strip(line))) {
            if(word in dictionary) continue; // Nothing to do
            auto newID = dictionary.length;
            dictionary[word] = newID;
            writeln(newID, '\t', word);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

IDE说Error: undefined identifier splitter,因为我对Java很有经验,我猜错误意味着该方法不存在,并且因此尝试将其作为变量处理,但这也不存在.所以我尝试将其改为"拆分".这会在字典中产生另一个错误:Error: associative arrays can only be assigned values with immutable keys, not char[]

所以我真的不知道如何解决这个问题并让它发挥作用.当书本中应该教你的代码时,令人沮丧的是不行.我正在使用dmd2.

d

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

由Recursion引起的StackOverflowException

我目前正在编写一个程序来帮助编写Lore.每个图书对象都可以是父母并且有孩子.这意味着每个孩子都可以有孩子等无限.我正在使用ToString()方法,可以使用递归来解决这个问题,但我不断得到StackOverflowException.

我知道这意味着什么,但我对如何解决这个问题表示怀疑.我是C#的新手,但有很多Java经验,所以如果你知道一些我错过的技巧或者其他东西,请告诉我!

所以我的问题是:如何避免StackOverflow异常?问题出在GetAllChildren()

编辑:

运行测试后,我应该得到这样的东西:

Name: a
Children:
b
c
    d
e
Run Code Online (Sandbox Code Playgroud)

使用@lc的代码.我得到以下输出:

Name: a
Children: No Children   b
c
e
    b
c
e
    b
c
e
Run Code Online (Sandbox Code Playgroud)

这是班级:

class Book
{
    private String name;
    private Book[] children;
    private StringBuilder text;
    private Boolean isParent;

    public Book(String name, Book[] children, StringBuilder text, Boolean isParent)
    {
        this.name = name;
        this.children = children;
        this.text = text;
        this.isParent = isParent;
    }

    /**
     * Most likely all possible Constructors
     * */
    public Book(String name, Book[] children) …
Run Code Online (Sandbox Code Playgroud)

c# stack-overflow recursion

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

使用JNativeHook注册多键按压

我查看了一些示例,并尝试在Google上搜索了几个小时,但似乎我找不到涵盖我要问的问题.

如果我想做类似的事情

同时使用W + A,并将其作为单独的键事件注册,而不是单独注册为W和A,我将如何使用JNativeHook进行此操作?是因为我在某个地方错过了一个涵盖这个的课程,还是只有一个解决方法只能阅读一个关键?

我试图在控制台中执行它(因此我使用此库而不是Swing).

我拿了他们的例子,想尝试修改它:

import org.jnativehook.GlobalScreen;
import org.jnativehook.NativeHookException;
import org.jnativehook.keyboard.NativeKeyEvent;
import org.jnativehook.keyboard.NativeKeyListener;

public class GlobalKeyListener implements NativeKeyListener {

    @Override
    public void nativeKeyPressed(NativeKeyEvent e) {
        System.out.println("Key Pressed: " + NativeKeyEvent.getKeyText(e.getKeyCode()));

        if (e.getKeyCode() == NativeKeyEvent.VC_ESCAPE) {
            GlobalScreen.unregisterNativeHook();
        }
    }

    @Override
    public void nativeKeyReleased(NativeKeyEvent e) {
        System.out.println("Key Released: " + NativeKeyEvent.getKeyText(e.getKeyCode()));
    }

    @Override
    public void nativeKeyTyped(NativeKeyEvent e) {
        System.out.println("Key Typed: " + NativeKeyEvent.getKeyText(e.getKeyCode()));
    }

    public static void main(String[] args) {
        try {
            GlobalScreen.registerNativeHook();
        } catch (NativeHookException ex) {
            System.err.println("There was …
Run Code Online (Sandbox Code Playgroud)

java

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

如何使用jQuery重置HTML5表?

我有一个HTML表格,如下所示:

    <table id="spreadsheet" class="table table-striped" cellspacing="0" width="100%">
    	<thead>
    		<tr>
    			<th id="spreadsheet-year">2015</th>
    			<th>Month (Est)</th>
    			<th>Month (Act)</th>
    			<th>YTD (Est)</th>
    			<th>YTD (Act)</th>
    			<th>Full Year (Est)</th>
    			<th>Full Year (Act)</th>
    		</tr>
    	</thead>
    	<tbody>
    		<tr>
    			<td>Jan</td>
    			<td>0</td>
    			<td>0</td>
    			<td>0</td>
    			<td>0</td>
    			<td>0</td>
    			<td>0</td>
    		</tr>
    		<tr>
    			<td>Feb</td>
    			<td>0</td>
    			<td>0</td>
    			<td>0</td>
    			<td>0</td>
    			<td>0</td>
    			<td>0</td>
    		</tr>
    		<tr>
    			<td>Mar</td>
    			<td>0</td>
    			<td>0</td>
    			<td>0</td>
    			<td>0</td>
    			<td>0</td>
    			<td>0</td>
    		</tr>
    		<tr>
    			<td>Apr</td>
    			<td>0</td>
    			<td>0</td>
    			<td>0</td>
    			<td>0</td>
    			<td>0</td>
    			<td>0</td>
    		</tr>
             ...
             ...
             ...
    	</tbody>
    </table>
Run Code Online (Sandbox Code Playgroud)

这给了我这个:

在此输入图像描述

我使用这个脚本使表交互.它工作得非常好,但我想知道在提交或关闭模态后如何重置表格?否则,当用户再次打开模态时,相同的值将保持不变.

javascript jquery html5 twitter-bootstrap

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

将long转换为十进制

我试图寻找解决方案,但我根本不能.我想显示以字节为单位计算的long的兆字节表示.

在Java中,您有一个名为length()的方法,您可以在文件对象上调用该方法.它将返回存储在long中的文件大小(以字节为单位).现在,我希望将其转换为兆字节而不是字节.我正在尝试的文件大小为161000字节.如果我没有记错的话,那意味着0.161兆字节.所以我会做bytes/100000,我希望得到0.161.问题是我没有.

如果我转到我的Windows计算器或任何其他计算器,应用程序可以设法显示这3个小数.为什么我不能这样做?我试图将结果存储在一个double中,它只是0.0

编辑:已找到答案.感谢wrm:

long b = file.length(); double mb =(double)b /(1024*1024);

java

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

无法启动任何ASP.NET项目

我一直试图解决这个问题很长一段时间,但我根本无法制作任何ASP.NET项目Visual Studio Express 2012 for Web.我开始一个新项目时遇到这个错误:

Web应用程序项目当前配置为使用IIS Express.要切换回使用Visual Studio开发服务器,请更改"选项"菜单的"项目和解决方案/ Web项目"类别下的开发服务器选项.配置的IIS Express失败,并显示以下错误:

  • 文件名:redirect.config
  • 错误:无法读取配置文件.

所以我上网尝试找到其他有相同错误的人,但我无法找到解决问题的具体方法.我发现旧版本有类似的东西,但它不能解决我的问题.我的服务下有IIS管理器(当你想管理Windows时).我甚至做了一个虚拟文件夹,但无济于事.仍然无法正常工作.

我想使用IIS

我该如何解决?

windows asp.net iis visual-studio-express

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

从PL/SQL函数返回多个值

我需要尝试在飞机上找到一个免费座位,然后保留该座位.

我需要返回一个值来表示成功与否以及座位号.通过环顾四周,我发现函数不能返回超过1的值,所以我考虑使用数组,但是查看那些文档,很明显我在PL/SQL上不太了解如何使用它们.

所以我在这里搁浅了.

到目前为止,我得到的代码如下所示:

CREATE OR REPLACE FUNCTION RESERVE_SEAT(P_NO VARCHAR2, ID NUMBER, RESERVE_TIME NUMBER, S_NO VARCHAR2)
RETURN INTEGER AS
  RES INTEGER := 0;
  COUNTS INTEGER := 0;
BEGIN
SELECT COUNT(*) INTO COUNTS FROM SEAT WHERE SEAT_NO=S_NO AND PLANE_NO=P_NO;
IF(COUNTS = 1) THEN
  UPDATE SEAT
  SET RESERVED = ID, BOOKING_TIME = RESERVE_TIME, BOOKED=ID
  WHERE PLANE_NO=P_NO AND SEAT_NO=S_NO;
  COMMIT;
    ELSE IF(COUNTS = 0) THEN
      RES := -1;
    END IF;
  END IF;
  RETURN RES;
END RESERVE_SEAT;
Run Code Online (Sandbox Code Playgroud)

以上函数调用上述函数

CREATE OR REPLACE FUNCTION GET_FREE_SEAT(P_NO VARCHAR2, …
Run Code Online (Sandbox Code Playgroud)

oracle plsql sql-function

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

使用不带参数的Split(),默认分隔符是什么?

所以我String.Split()今天看了C#中的方法,我意识到你可以传递零参数,这是我从未考虑过的.

Split()没有任何参数的情况下使用时,默认分隔符是什么?

c#

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

TypeError:不可散列的类型:调用 .iloc() 时的“列表”

我目前正在为一个项目进行一些人工智能研究,为此我必须习惯一个名为“Pytorch”的框架。这很好,但按照官方教程(在此处找到),代码无法正常运行。

我的想法是,我从准备好的数据集中分析一组面部特征,然后用它做一些事情(还没有到达那部分)。但是当我运行这段代码时:

img_name = os.path.join(self.root_dir, self.landmarks_frame.iloc([index, 0]))  # At this point 'index' is 0
Run Code Online (Sandbox Code Playgroud)

数据集的初始化如下:

face_dataset = fDataset(csv_file='faces/face_landmarks.csv', root_dir='faces/')
Run Code Online (Sandbox Code Playgroud)

这是弹出错误的地方:

for i in range(len(face_dataset)):
    sample = face_dataset[i]  # <-- right there
Run Code Online (Sandbox Code Playgroud)

这就引出了 getter 函数:

def __getitem__(self, index):
    img_name = os.path.join(self.root_dir, self.landmarks_frame.iloc([index, 0]))
    image = io.imread(img_name)
    landmarks = self.landmarks_frame.iloc[index, 1:].as_matrix()
    landmarks = landmarks.astype('float').reshape(-1, 2)
    sample = {'image': image, 'landmarks': landmarks}
Run Code Online (Sandbox Code Playgroud)

在我的课堂上发现FaceLandmarksDataset(Dataset):我只是得到了标题的错误。我觉得这很奇怪,因为我可以在 PyCharm 中将数据集作为框架读取: 数据集检查器

第一张图片清晰可见。我还检查了它是否在我正在查找的文件夹中。

有人可以帮忙吗?:)

python python-3.x pytorch

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

执行时,SqlConnection状态始终处于关闭状态

我试图通过使用SqlConnectionSqlCommand对象建立一个简单的MS Access数据库连接.

正如您在这里看到的,我是如何建立连接的:

private SqlConnection GetConnection()
{
    String connStr = ConfigurationManager.ConnectionStrings[0].ConnectionString;
    SqlConnection conn = new SqlConnection(connStr);
    return conn;
}
Run Code Online (Sandbox Code Playgroud)

在你问之前,是的,我试图将这段代码移动到调用它的方法.没有改变什么.它仍然读取连接字符串错误.

连接字符串如下所示,位于App.config文件中:

<add name="ConnString" connectionString="Server=*.*.*.*;Database=familie;User Id=mfs;Password=********;"/>
Run Code Online (Sandbox Code Playgroud)

但是当我收到此错误时:

错误图片

并查看当时的连接字符串对象,字符串如下所示:

"data source=.\\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true"
Run Code Online (Sandbox Code Playgroud)

我花了大约2个小时试图完成这项工作,去许多不同的网站找出我做错了什么,但我得到的信息是太旧,冲突或处理连接到本地数据库,当这是实际上是通过我的客户提供给我的代理的外部访问(如果有人应该问,TrustGate)

调用的方法GetConnection()如下所示:

public Dictionary<int,String> GetPostNrList()
{
    SqlConnection conn = GetConnection();
    SqlCommand cmd = new SqlCommand("Execute dbo.HENT_POST_NR_LISTE", conn);
    var reader = cmd.ExecuteReader();
    Dictionary<int, String> liste = new Dictionary<int, string>();
    while (reader.NextResult())
    {
        int post_nr = (int) reader.GetSqlInt32(0);
        String by = reader.GetString(1);
        liste.Add(post_nr, …
Run Code Online (Sandbox Code Playgroud)

c# sql ms-access

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