我有兴趣了解Python 3.x的新语言设计.
我喜欢在Python 2.7中使用的功能map:
Python 2.7.12
In[2]: map(lambda x: x+1, [1,2,3])
Out[2]: [2, 3, 4]
Run Code Online (Sandbox Code Playgroud)
但是,在Python 3.x中,事情发生了变化:
Python 3.5.1
In[2]: map(lambda x: x+1, [1,2,3])
Out[2]: <map at 0x4218390>
Run Code Online (Sandbox Code Playgroud)
我理解如何,但我找不到为什么的参考.为什么语言设计师会做出这样的选择,在我看来,这会引入很多痛苦.这是为了让开发人员坚持列表理解吗?
IMO,list自然可以被认为是Functors ; 而且我一直被认为以这种方式思考:
fmap :: (a -> b) -> f a -> f b
Run Code Online (Sandbox Code Playgroud) 我在Ubuntu上安装了sbt.
:~/bin/sbt/bin$ ls
classes sbt sbt-launch.jar target
jansi.jar sbt.bat sbt-launch-lib.bash win-sbt
Run Code Online (Sandbox Code Playgroud)
但是,每当我尝试启动sbt(从sbt所在的同一目录)时,它都不起作用:
No command 'sbt' found, did you mean:
Command 'skt' from package 'latex-sanskrit' (universe)
Command 'sb2' from package 'scratchbox2' (universe)
Command 'sbd' from package 'cluster-glue' (main)
Command 'mbt' from package 'mbt' (universe)
Command 'sbmt' from package 'atfs' (universe)
Command 'lbt' from package 'lbt' (universe)
Command 'st' from package 'suckless-tools' (universe)
Command 'sb' from package 'lrzsz' (universe)
Run Code Online (Sandbox Code Playgroud)
我是linux的新手,我不知道如何解决这个问题.
我想知道在F#中是否有一些糖来克隆一个只改变一个或几个属性的类实例.
我知道在F#中可以使用记录:
let p2 = {p1 with Y = 0.0}
Run Code Online (Sandbox Code Playgroud) 我已经安装了python插件,并没有在jupyter笔记本中渲染markdown.
同样适用于pycharm.
我还安装了额外的markdown插件.
我有一个如下所示的请求:
package pricing
import scala.beans.BeanProperty
class Request(@BeanProperty var name: String, @BeanProperty var surname: String) {
def this() = this(name="defName", surname="defSurname")
}
Run Code Online (Sandbox Code Playgroud)
处理程序如下:
package pricing
import com.amazonaws.services.lambda.runtime.{Context, RequestHandler}
import scala.collection.JavaConverters
import spray.json._
class ApiGatewayHandler extends RequestHandler[Request, ApiGatewayResponse] {
import DefaultJsonProtocol._
def handleRequest(input: Request, context: Context): ApiGatewayResponse = {
val headers = Map("x-foo" -> "coucou")
val msg = "Hello " + input.name
val message = Map[String, String]("message" -> msg )
ApiGatewayResponse(
200,
message.toJson.toString(),
JavaConverters.mapAsJavaMap[String, Object](headers),
true
)
}
}
Run Code Online (Sandbox Code Playgroud)
已被记录为:
functions:
pricing: …Run Code Online (Sandbox Code Playgroud) 我有以下功能:
let fetchTickerGroup (tickers: string[]) (sqlServer:SQLServerClient) (schema: string) =
tickers |> Array.map(fun x -> sqlServer.FetchTimeSerie(schema,x))
Run Code Online (Sandbox Code Playgroud)
该函数采用一个字符串数组,并通过sqlServer取这是由返回的数据sqlServer.FetchTimeSerie作为List<b>其中b一个自定义的对象.现在,映射数组意味着函数fetchTickerGroup返回List<b>[].
我想知道结果是否可能flatMap,而不仅仅是映射数组值.
import akka.actor.Actor
import spray.routing.HttpService
import spray.http._
import MediaTypes._
import spray.json._
import spray.routing.directives.CachingDirectives._
import spray.httpx.encoding._
trait MarginEvaluationService extends HttpService {
import ClassSerializer._
import spray.httpx.SprayJsonSupport._
val myRoute = {
pathPrefix("hello") {
get {
respondWithMediaType(`text/html`) { // XML is marshalled to `text/xml` by default, so we simply override here
complete {
<html>
<body>
<h1>Say hello to <i>spray-routing</i> on <i>spray-can</i>!</h1>
</body>
</html>
}
}
}
}
~
pathPrefix("testjson") {
get {
entity(as[TestC]) { c =>
respondWithMediaType(`application/json`) {
complete(c)
}
}
}
}
}
} …Run Code Online (Sandbox Code Playgroud) 我有一个iframe已创建的嵌入式发布谷歌文档.的iframe自动应用一个大的填充到其body导致文本是一个非常窄和难看柱.我必须改变这一点.
我试图创建一个自定义指令:
app.directive('iframeWithStyle', [function(){
return {
restrict: 'A',
link: function(scope, element, attrs){
element.on('load', function(){
var iframe = element[0];
var grabbedElement = iframe.querySelector("body");
// -> grabbedElement is null here
});
}
}}]);
Run Code Online (Sandbox Code Playgroud)
适用于:
<iframe iframe-with-style
src="https://docs.google.com/document/d/somethingABC123/pub?embedded=true">
</iframe>
Run Code Online (Sandbox Code Playgroud)
但正如预期的那样,iframe.querySelector返回null和iframe.contentWindow.document结果
未捕获的DOMException:阻止具有原始" http:// localhost:8100 "的帧访问跨源帧.
我已经看过一个解决方法,但我觉得它有点过分(例如:与消息安全交叉通信).
我尝试用一些css应用于我可以达到的范围来对抗填充.例如:
iframe {
padding: 0px !important;
margin-left: -50px;
margin-right: 50px;
}
Run Code Online (Sandbox Code Playgroud)
CSS应用到body的iframe似乎被简单地忽略.
曾几何时,有一些便利属性,例如marginwidth.也试过了.我也想知道谷歌是否不提供一些"糖",但谷歌搜索并没有帮助.
注意:它确实不一定是iframe,但我需要在应用程序中以可读的方式显示格式化的gdoc; …
我正在重新设计一个库,我对目前的设计模式不满意.这个问题涉及战略模式与州Monad一起使用
我有一个Filter.在它的基本实现中,它所做的就是获取一些类型的数据源'd并更新自身,生成一个新的自身更新副本.
[<AbstractClass>]
type Filter<'d, 'F> (state: 'F) =
member val StateVariable = state with get
abstract member Update: 'd -> Filter<'d, 'F>
Run Code Online (Sandbox Code Playgroud)
我有一个ISignalGenerator,它采用过滤器,环境数据并处理它以生成一种Signal类型'S.
type ISignalGenerator<'d, 'F, 'S> =
abstract member GenerateSignal: 'd -> Filter<'d,'F> -> 'S
Run Code Online (Sandbox Code Playgroud)
这SignalGenerator是一个策略模式对象.在SignalGenerator实现中,库用户安装将使用和组合以生成的函数Signal.
我可以将我的代码包装在状态monad中.与一些环境变量(数据馈送)一起,状态monad将携带'Filter'作为状态.SignalGenerator然后将通过状态monad获取状态更新(类型的数据馈送'd和Filter)
我的设计问题是我想将SignalGenerator类型从工作流程的开发中分离出来,即我想避免将状态monad嵌套在其中SignalGenerator.是否有功能设计模式来实现这一目标?
编辑
根据Tomas的评论,我参与了一个玩具模型.具有策略类的选择基于将许多功能组合在一起的需要.
/////////////////////////////////////////////////////////////////////////////////////
// Definition of the state …Run Code Online (Sandbox Code Playgroud) 有一个形状像某种扭曲的抛物面的浊点,我想使用Delaunay三角剖分来插值点.我尝试过其他技术(f.ex.splines),但没有设法强制执行所需的行为.
我想知道是否有一种快速的方法来使用结果scipy.spatial.Delaunay,我可以给出(x,y)坐标并获得单面(三角形)上的点的z坐标.从文档看起来我可以提取单纯形的索引,但我不知道如何从那里采取它.

f# ×3
python ×3
scala ×3
angularjs ×1
arrays ×1
aws-lambda ×1
clone ×1
deb ×1
debian ×1
delaunay ×1
google-docs ×1
iframe ×1
java ×1
jupyter ×1
markdown ×1
pycharm ×1
python-3.x ×1
sbt ×1
scipy ×1
spray ×1
state-monad ×1
ubuntu-12.04 ×1