我试图编译(从命令行)一个java包,导入我自己的另一个包.我在网上关注了一个教程,但是当我尝试编译最终的java文件(CallPackage.java)时,我似乎遇到了错误.
这是文件结构:
+ test_directory (contains CallPackage.java)
-> importpackage
-> subpackage (contains HelloWorld.java)
Run Code Online (Sandbox Code Playgroud)
这是CallPackage.java:
/// CallPackage.java
import importpackage.subpackage.*;
class CallPackage{
public static void main(String[] args){
HelloWorld h2=new HelloWorld();
h2.show();
}
}
Run Code Online (Sandbox Code Playgroud)
这是HelloWorld.java:
///HelloWorld.java
package importpackage.subpackage;
public class HelloWorld {
public void show(){
System.out.println("This is the function of the class HelloWorld!!");
}
}
Run Code Online (Sandbox Code Playgroud)
$javac HelloWorld.java
.$javac CallPackage.java
.这给了我最后一个命令的错误:
CallPackage.java:1: package importpackage.subpackage does not exist
import importpackage.subpackage.*;
^
CallPackage.java:4: cannot find symbol
symbol : …
Run Code Online (Sandbox Code Playgroud) I am trying to construct a piecewise function for some digital signal processing, but I cannot get numpy.piecewise to allow me to specify a range.
Here is what I want to input:
t = np.arange(-10,10,1)
x = lambda x: x**3
fx = np.piecewise(t, [t < -1 and t>-2, t <= 0 and t>-1, t>=0 and t<1,t>1 and t<2], [x(t + 2), x(-t),x(t),-x(2-t)])
plot(t,fx)
Run Code Online (Sandbox Code Playgroud)
However, I get the error: "ValueError: The truth value of an array with more than one element …
我想知道是否有一个简单的Pythonic方式(可能使用生成器)在列表中的每个项目上运行一个函数,并产生一个返回列表?
例:
def square_it(x):
return x*x
x_set = [0,1,2,3,4]
squared_set = square_it(x for x in x_set)
Run Code Online (Sandbox Code Playgroud)
我注意到,当我对此进行逐行调试时,传递给函数的对象是生成器.
因此,我收到一个错误:
TypeError: unsupported operand type(s) for *: 'generator' and 'generator'
我知道这个生成器表达式创建了一个传递给函数的生成器,但我想知道是否有一种很酷的方法来完成多次运行该函数只能通过指定一个iterable作为参数?(不修改函数以期望迭代).
在我看来,这种能力对于减少代码行非常有用,因为你不需要创建一个循环来使函数变得有趣,而一个变量将输出保存在列表中.
谢谢!
python ×2
command-line ×1
compilation ×1
generator ×1
iterator ×1
java ×1
javac ×1
numpy ×1
package ×1
piecewise ×1