小编Mas*_*ast的帖子

在字符串文字中使用制表符是“不好的做法”吗?

作为对是否必须在 C 和 C++ 中转义制表符字符的后续行动(请注意,我不是上述问题的作者)。

我了解到这样的代码被认为是“不好的做法”。这些评论似乎在暗示同样的事情。然而,由于某种原因,标准允许这种诡计,所以必须有人发现它没有任何危害,或者有它的用例。

转义制表符不是被广泛接受为“不良做法”吗?

c c++ coding-style string-literals

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

C编程的好方法

我目前编程自己的实现printf,这里是代码:

int my_printf(const char *format, ...)
{
        //Declare variable ou prog fonctionnel????
        va_list args;
        int numberValue;
        unsigned int unsignedNumberValue;
        double doubleValue;
        char* stringValue;
        char charValue;
        va_start(args, format);
        for(int i = 0; format[i]; i++){
                //This case is the most called case, so we test it first to get the
                //best perfs
                if(format[i] != '%'){
                        my_put_char(format[i]);
                }else{
                        if(format[i+1] == 'd' || format[i+1] == 'i'){
                                numberValue = va_arg(args, int);
                                my_put_nbr(numberValue);
                        }else if(format[i+1] == 'u'){
                                unsignedNumberValue = va_arg(args, unsigned int);
                                my_put_nbr_unsigned(unsignedNumberValue);
                        }else …
Run Code Online (Sandbox Code Playgroud)

c printf memory-management

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

Python中的加速MSD计算

这是对社区的一个呼吁,看看是否有人有想法提高这个MSD计算实施的速度.它主要基于此博客文章的实现:http://damcb.com/mean-square-disp.html

目前,对于500个点的2D轨迹,当前实施需要大约9秒.如果你需要计算很多轨迹,这真的太过分了......

我没有尝试并行化(使用multiprocess或者joblib),但我觉得创建新进程对于这种算法来说太重了.

这是代码:

import os

import matplotlib
import matplotlib.pyplot as plt

import pandas as pd
import numpy as np

# Parameters
N = 5000
max_time = 100
dt = max_time / N

# Generate 2D brownian motion

t = np.linspace(0, max_time, N)
xy = np.cumsum(np.random.choice([-1, 0, 1], size=(N, 2)), axis=0)
traj = pd.DataFrame({'t': t, 'x': xy[:,0], 'y': xy[:,1]})
print(traj.head())

# Draw motion
ax = traj.plot(x='x', y='y', alpha=0.6, legend=False)

# Set limits
ax.set_xlim(traj['x'].min(), …
Run Code Online (Sandbox Code Playgroud)

physics numpy python-3.x pandas

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

将所有非'0'推到前面

我正在使用以下(丑陋的)片段来迭代带有字符串的二维列表.它检查其中一个值'0'是否为最后一个元素.如果不是,它将'0'使用下一个元素的值切换当前元素的值(即).

我打算用这个功能完成的是将所有非'0'值推到后面.它显然没有按预期工作(这是一个开始),但我无法找到一种方法来完成这项工作,而不会把它变成一个大混乱.

拼图中缺少的是什么?递归会有帮助吗?

['0', '2', '0', '4']
Run Code Online (Sandbox Code Playgroud)

应该变成

['2', '4', '0', '0']
Run Code Online (Sandbox Code Playgroud)

['0', '3', '1', '0', '2']
Run Code Online (Sandbox Code Playgroud)

['3', '1', '2', '0', '0']  
Run Code Online (Sandbox Code Playgroud)

当前片段:

for idx, x in enumerate(self.list_x):
     for idy, i in enumerate(x):
        if i == '0':
            try:
                if x[idy+1]:
                    pass
            except IndexError:
                pass
            else:
                temp = i
                self.list_x[idx][idy] = x[idy+1]
                self.list_x[idx][idy+1] = temp
Run Code Online (Sandbox Code Playgroud)

iteration python-2.7

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

如何在列表框wpf中获取多个所选项?

我对如何从wpf中的列表框中检索多个选定值感到困惑.

在XAML中,我有以下列表框,选择模式为multiple.

 <ListBox Height="100" HorizontalAlignment="Left" Margin="139,207,0,0" Name="listBox1" VerticalAlignment="Top" Width="120" SelectionChanged="listBox1_SelectionChanged" SelectionMode="Multiple" />    

 <Button Content="Button" Height="23" HorizontalAlignment="Left" Margin="319,220,0,0" Name="button1" VerticalAlignment="Top" Width="75" Click="button1_Click" />
Run Code Online (Sandbox Code Playgroud)

我现在如何检查foreach循环?

        foreach (ListItem li in listBox1.Items)
        {
                ?? // how to check li is selected or not
        }
Run Code Online (Sandbox Code Playgroud)

.net c# wpf listbox

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

运行应用程序作为服务器和客户端

我想让我的电脑和服务器兼容.这是我的代码

import java.net.*;
class tester {
static int pos=0; 
 static byte buffer[]=new byte[100];
   static void Client() throws Exception {
    InetAddress address=InetAddress.getLocalHost();
  DatagramSocket ds=new DatagramSocket(3000,address);
   while(true) {
    int c=System.in.read();
    buffer[pos++]=(byte)c;
    if((char)c=='\n')
      break;
   }
   ds.send(new DatagramPacket(buffer,pos,address,3000));
  Server();
}                   

static void Server() throws Exception {
 InetAddress address=InetAddress.getLocalHost();
 DatagramSocket ds=new DatagramSocket(3001,address);
 DatagramPacket dp=new DatagramPacket(buffer,buffer.length);
 ds.receive(dp);
 System.out.print(new String(dp.getData(),0,dp.getLength()));
}
  public static void main(String args[])throws Exception {

 if(args.length==1) {
  Client();
   } 
 }
Run Code Online (Sandbox Code Playgroud)

}

在这里,我试图使我的计算机既服务器又客户端. 我在cmd上运行这个程序, java tester hello但程序一直在等待.我应该怎么做以接收键入的消息.

*如果代码中有任何修改,请提出建议.请注意,目的是使我的电脑和服务器兼容.

java networking server

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

从构造函数中调用方法

我编写了下面的代码,如您所见,在构造函数中,我调用了一些方法来执行某些操作.现在我要问的是,从构造函数中调用这些方法是一个好习惯还是将这些方法声明为public并从类info中实例化一个对象,让对象调用这些方法?这有什么好的做法?

码:

class Info {
public RoadInfo(String cityName, double lat, double lng) throws FileNotFoundException, SAXException, IOException, XPathExpressionException {
    // TODO Auto-generated constructor stub
    this.cityname = cityName;
    this.lat = lat;
    this.lng = lng;

    this.path = "c:"+File.separatorChar+this.cityname+".xml";

    System.out.println(path);

    this.initXPath();
    this.method1()
    this.method2()
    ..

    this.expr = "//node[@lat='"+this.lat+"'"+"]/following-sibling::tag[1]/@v";
    this.xPath.compile(this.expr);
    String s = (String) this.xPath.evaluate(this.expr, this.document, XPathConstants.STRING);
    System.out.println(s);
}
Run Code Online (Sandbox Code Playgroud)

java methods constructor function

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

关于TI-84 Plus C Silver Edition上"If"语句的问题

我的TI-84 Plus C银版计算器上有一个TI BASIC的小代码,可以根据患者的体重确定正确的药物剂量.例如,如果给予阿司匹林5 mg/kg患者体重(事实并非如此),那么代码应该告诉我给100kg患者服用500mg阿司匹林.但是,该代码正在解决所有可能的药物.这里是:

PROGRAM:DRUG1
:Input "PATIENT WEIGHT: ",W
:Input "AGENT NAME: ",A
:If A=IPPI
:Disp "DOSAGE",W*2
:If A=NEVO
:Disp "DOSAGE", W*0.5
Run Code Online (Sandbox Code Playgroud)

所以在这种情况下,这两种药物是IPPINEVO.如果我给患者体重100公斤,并选择IPPI,那么我希望看到

DOSAGE                 200
Run Code Online (Sandbox Code Playgroud)

但是,我看到的是

DOSAGE              200
DOSAGE               50
Run Code Online (Sandbox Code Playgroud)

显然两个"if"语句都在运行,即使我只给了一个值(IPPI).[当我设置发生同样的错误A作为NEVO].

我已经尝试将两个If语句包含在内Then...End,所以代码看起来像:

PROGRAM:DRUG1
:Input "PATIENT WEIGHT: ",W
:Input "AGENT NAME: ",A
:If A=IPPI
:Then
:Disp "DOSAGE",W*2
:End
:If A=NEVO
:Then
:Disp "DOSAGE", W*0.5
:End
Run Code Online (Sandbox Code Playgroud)

但这没有任何改变.我对BASIC很新,所以我确定有一个我看不到的简单错误,但此刻我很难过.

ti-basic

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

你如何将参数传递给Ruby中的类<< self?

你如何class << self在Ruby中传递参数?我有一个我在下面工作的片段,我正在尝试使用RMagick生成一张图片.

#!/usr/bin/env ruby
%w[ rubygems RMagick ].each{|l| require l  }
%w[ Magick ].each{|i| require i }

module ImgGen
  class << self
    def start
      stripes = ImageList.new
      puts "hi"
    end

  end
end

WIDTH=650
HEIGHT=40
FILENAME="output.png"
FONT="winvga1.ttf"
ImgGen.start(WIDTH, HEIGHT, FILENAME, FONT)
Run Code Online (Sandbox Code Playgroud)

ruby class self

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

如何使用NOT IN SQL

我试图找到表之间不匹配的所有Id,我的SQL是:

SELECT UserP.*, AccountP.*
FROM UserP
    FULL JOIN AccountPON (UserP.Id = AccountP.Id)
WHERE UserP.Id NOT IN AccountP.Id
Run Code Online (Sandbox Code Playgroud)

sql

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

如何在浏览器或控制台中使用 javascript 导出关键字

ecmascript5中引入了export关键字:

var myFunc1 = function() { console.log('hello'); };   
export.myFunc1 = myFunc1;
Run Code Online (Sandbox Code Playgroud)

如果我在 Firefox 控制台中运行上面的代码,则会出现错误:

SyntaxError: missing declaration after 'export' keyword  
export.myFunc1 = myFunc1;
Run Code Online (Sandbox Code Playgroud)

我不明白我需要声明什么。

我是否以错误的方式使用它?

任何建议都会很好!

javascript node.js ecmascript-5

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