在对音频或图像阵列进行一些处理之后,需要在一个范围内对其进行标准化,然后才能将其写回文件.这可以这样做:
# Normalize audio channels to between -1.0 and +1.0
audio[:,0] = audio[:,0]/abs(audio[:,0]).max()
audio[:,1] = audio[:,1]/abs(audio[:,1]).max()
# Normalize image to between 0 and 255
image = image/(image.max()/255.0)
Run Code Online (Sandbox Code Playgroud)
是否有一个不那么详细,方便的功能方法来做到这一点?matplotlib.colors.Normalize()
似乎没有相关性.
我很难理解两者之间的区别,或者方便init的目的.谢谢
在python中,我可以构造一个HTML字符串,而不必担心通过简单地将字符串括在三个引号中来转义像<或"这样的特殊字符,如:
html_string = """
<html>
<body>
<p>My text with "quotes" and whatnot!<p>
</body>
</html>
"""
Run Code Online (Sandbox Code Playgroud)
在Java中有类似的方法吗?
我注意到Android开发中最繁琐的部分之一是布局设计,即使是布局构建器也是如此.
在设置图形之后,布局,与布局元素进行变量关联是非常繁琐的,例如 ImageButton myButton = (ImageButton)findViewById(R.id.myButton);
在较大的布局中,这些可能变得乏味以便跟踪(回忆元素的名称),然后需要以任何类型的顺序添加更多变量令人沮丧.
为了稍微缓解这种情况,如果我在XML中声明的所有ID都与其正确的变量自动关联,并且所有这些数据类型都已包含在该类中,那将非常方便
有什么东西已经做到了吗?
例如,如果我写
<ImageButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/myButton" android:id="@+id/myButton"></ImageButton>
Run Code Online (Sandbox Code Playgroud)
那么我想包含这种布局的类已经有了
import android.ImageButton;
ImageButton myButton;
myButton = (ImageButton)findViewById(R.id.myButton);
Run Code Online (Sandbox Code Playgroud)
这是要求的设置或功能吗?我正在使用Eclipse IDE,这将非常方便
我试图在swift中编写自定义初始化程序.我有这样的事情:
convenience init(datasource:SomeProtocol) {
assert(datasource != nil, "Invalid datasource")
if(datasource == nil) {
return nil
}
self.init()
}
Run Code Online (Sandbox Code Playgroud)
"return nil"行给出了这个错误:"找不到接受提供的参数的'__version'的重载"
所以,我想要完成的就是让这个便利初始化器返回nil,如果调用者没有提供有效的数据源.
我在这做错了什么?
谢谢
在我所处理的大多数语言中,有一种被称为便捷方法,这意味着该方法执行一些非常频繁的小任务,因此使用所述方法更方便.
在Objective-C中,这个定义是否成立?或者它通常只用于描述返回预构建对象的类方法?恩.[NSString stringWithContentsOfFile:...]
这只是一个偏好的东西,还是对这些术语有一些硬性和快速的定义?
干杯,斯特凡
在 swift 中有指定初始值设定项的概念(我假设这是我们从其他语言中知道的“正常”构造函数)。
但是也有一个叫做 Convenience Initializer 的东西,我确实知道怎么写,但我没有重点。
至于,如果我理解正确,您可以在不写关键字的情况下实现相同的目的convenience
,或者不?
我正在尝试做这样的事情:
public extension UIImage {
public convenience init(whatever: Int) {
UIGraphicsBeginImageContextWithOptions(...)
//...
let image = UIGraphicsGetImageFromCurrentContext()
UIGraphicsEndImageContext()
return image // <- impossible
}
}
Run Code Online (Sandbox Code Playgroud)
但这不可能,因为“nil”是初始值设定项的唯一有效返回值……我该怎么做?
例如,Objtive-C 方法 [UIImage imageNamed:] 是一个类方法(它可以在 Objective-C 中返回它想要的任何内容)并且它被映射到 swift 初始值设定项 UIImage(named:)。
initialization objective-c uiimage convenience-methods swift
在使用或时,是否有一种方便且功能性(类似with-...
)的临时修改环境变量的方法?shell-comand
start-process
提前谢谢,Per
emacs shell temporary environment-variables convenience-methods
我经常编写具有方便方法的代码,基本上包装其他方法.这是一个简单的例子:
public class WithoutAsync
{
public static ReadOnlyCollection<Response> GetResponses(IEnumerable<Request> fromRequests)
{
var ret = new List<Response>();
foreach (Request r in fromRequests)
{
ret.Add(new Response());
}
return ret.AsReadOnly();
}
//convenience method
public static Response GetResponse(Request fromRequest)
{
return GetResponses(new Request[] {fromRequest})[0];
}
}
Run Code Online (Sandbox Code Playgroud)
现在我想await
长时间运行但我无法弄清楚如何改进这种方法用于TPL:
public class WithAsync
{
public static async Task<ReadOnlyCollection<Response>> GetResponses(IEnumerable<Request> fromRequests)
{
var awaitableResponses = new List<Task<Response>>();
foreach (Request r in fromRequests)
{
awaitableResponses.Add(Task.Run<Response>(async () =>
{
await Task.Delay(10000); //simulate some long running async op.
return …
Run Code Online (Sandbox Code Playgroud) .net c# convenience-methods task-parallel-library async-await
是否有一个便利功能可以将对象导出到全局环境,可以从一个函数调用它来使对象全局可用?
我正在寻找类似的东西
export(obj.a, obj.b)
Run Code Online (Sandbox Code Playgroud)
这会表现得像
assign("obj.a", obj.a, .GlobalEnv)
assign("obj.b", obj.b, .GlobalEnv)
Run Code Online (Sandbox Code Playgroud)
我知道<<-
并且assign
.我需要这个来重构旧的代码,这只是脚本的串联:
input("script1.R")
input("script2.R")
input("script3.R")
Run Code Online (Sandbox Code Playgroud)
script2.R
使用结果script1.R
,并script3.R
可能使用来自1
和的结果2
.这会创建一个污染严重的命名空间,我想更改每个脚本
pollute <- the(namespace)
useful <- result
Run Code Online (Sandbox Code Playgroud)
至
(function() {
pollute <- the(namespace)
useful <- result
export(useful)
})()
Run Code Online (Sandbox Code Playgroud)
作为第一个廉价的对策.
我有一个子类NSTextView
,在这个子类的初始化器中,我想调用:
super.init(frame: NSMakeRect(...))
Run Code Online (Sandbox Code Playgroud)
这就是我在以NSTextView
编程方式初始化时总是做的事情。我简单地写:
let textView = NSTextView(frame: NSMakeRect(0,0,10,10))
Run Code Online (Sandbox Code Playgroud)
但是,当我在子类 ( super.init(frame: (...))
) 中执行此操作时,编译器会抛出错误。它不会让我使用,init(frame:)
因为它init(frame:)
是 的便利初始化程序NSTextView
,我必须调用“超类的指定初始化程序”。
查了文档,发现是的指定构造器NSTextView
是init(frame: textContainer:)
但是我不想处理NSTextContainers
. 为什么我必须从对象的子类调用指定的初始化程序,但如果对象没有被子类化,我可以调用便利初始化程序?每当我通常初始化 anNSTextView
我不必提供 an NSTextContainer
,但是当我将 an 初始化NSTextView
为子类的超类时,我会这样做。为什么是这样?
另外,有没有办法NSTextView
用一种“默认”文本容器来初始化?不管指定的初始值设定项如何,我在这里要做的就是创建一个NSTextView
不用担心NSTextContainers
.
initialization designated-initializer convenience-methods swift