使用Google Web Toolkit,我想编写相当于a的代码hard refresh (control + F5).
我不相信(或知道)GWT Window.Location是否有效.
import com.google.gwt.user.client.Window.Location;
Window.Location = currentPage; // I don't think it'll be hard refresh
Run Code Online (Sandbox Code Playgroud) Hibernate 文档显示了这个例子:
session = sessionFactory.openSession();
session.beginTransaction();
List result = session.createQuery( "from Event" ).list();
for ( Event event : (List<Event>) result ) {
System.out.println( "Event (" + event.getDate() + ") : " +
event.getTitle() );
}
session.getTransaction().commit();
session.close();
Run Code Online (Sandbox Code Playgroud)
为什么有必要执行session.getTransaction().commit()即使事件列表只是打印出来?
我认识一个之间的区别Monad,并Applicative是flatMap可用的Monad,但不是Applicative.
如果这是真的,我对这些Scala Play JSON 文档感到困惑:
所以有趣的是JsResult [A]是一个monadic结构,可以用于这种结构的经典函数:
flatMap [X](f:A => JsResult [X]):JsResult [X]
等等
但是,然后文件继续说:
请注意,JsResult [A]不仅仅是Monadic而且是Applicative,因为它累积了错误.这个累积的特性使得JsResult [T]使得用于理解不是很好,因为你只会得到第一个错误,而不是全部错误.
因为,据我所知,一个for-comprehension是语法糖flatMap,怎么可能JsResult是Applicative和Monad?
我正在试图找出用于编译的Scala版本A.jar.我有两个版本:一个来自我的ivy2 repo,另一个来自Maven.
运行后jar -xf A.jar,我grepped为scala和version,但一无所获:
$grep -ri scala *
$grep -ri version *
Run Code Online (Sandbox Code Playgroud)
因此,基于解压缩*JAR,如何确定使用哪个版本的Scala进行编译?
*解压缩=运行 java xf <name of jar>
在以下代码中(来自Scala中的Functional Programming):
trait Functor[F[_]] {
def map[A,B](fa: F[A])(f: A => B): F[B]
}
trait Monad[F[_]] {
def unit[A](a: => A): F[A]
def flatMap[A,B](ma: F[A])(f: A => F[B]): F[B]
def apply[A](a: => A): F[A]
}
Run Code Online (Sandbox Code Playgroud)
我看到以下警告:
[warn] C:\...\Monad.scala:3: higher-kinded type should be enabled
[warn] by making the implicit value scala.language.higherKinds visible.
[warn] This can be achieved by adding the import clause 'import scala.language.higherKinds'
[warn] or by setting the compiler option -language:higherKinds.
[warn] See the Scala docs for value scala.language.higherKinds …Run Code Online (Sandbox Code Playgroud) 该文件说:
Criteria setMaxResults(int maxResults)
>Set a limit upon the number of objects to be retrieved.
Run Code Online (Sandbox Code Playgroud)
假设我有以下内容Criteria:
Criteria criteria = createCriteria(); // creates criteria for MY_TABLE entity
criteria.list().length; // let's say there's a million records in this table
Run Code Online (Sandbox Code Playgroud)
添加criteria.setMaxResults(1)只会返回一行吗?或者,它仍将返回100万行,但选择其中一行?
当针对我的Oracle DB运行类似于上面的代码示例的查询时,我看到... ROWNUM < 2正在生成SQL.
但是,当我查看ROWNUM常见问题时,我不明白是否ROWNUM会在检索记录之前或之后应用.我希望"之前"是有效的,而"之后"则不适用于大的结果集.
在从数据库中选择记录并在执行ORDER BY子句之前评估ROWNUM.
我在Haskell中创建了一个类型的同义词:
Prelude> type Foo a = [a]
Run Code Online (Sandbox Code Playgroud)
然后,我检查了它的类型:
Prelude> :t [5] :: Foo Integer
[5] :: Foo Integer :: Foo Integer
Run Code Online (Sandbox Code Playgroud)
当然我知道这Foo a是[a]我写的那个类型的同义词.
但是,如果我正在消费一个返回的图书馆,Foo Integer我怎么知道它是什么Foo?
我尝试:t Foo没有成功.
假设我有以下内容newtype:
newtype Foo = Foo Integer deriving (Eq, Show)
有没有简洁的方法来添加两个Foo:
(Foo 10) + (Foo 5) == Foo 15
或获得最大值:
max (Foo 10) (Foo 5) == Foo 5?
我很好奇是否可以轻松使用afor的功能newtype a而不是:
addFoo :: Foo -> Foo -> Foo
addFoo (Foo x) (Foo y) = Foo $ x + y
Run Code Online (Sandbox Code Playgroud) 鉴于:
import shapeless._
import syntax.singleton._
case class Foo(a: String, one: Witness.`1`.T)
Run Code Online (Sandbox Code Playgroud)
为什么Foo.apply _而Foo.unapply _有不同的特征,即Int(1)对Int分别是多少?
scala> Foo.apply _
res5: (String, Int(1)) => Foo = <function2>
scala> Foo.unapply _
res6: Foo => Option[(String, Int)] = <function1>
Run Code Online (Sandbox Code Playgroud) 鉴于以下关于亚扪人:
@ import $ivy.`io.circe::circe-core:0.9.0`
@ import $ivy.`io.circe::circe-generic:0.9.0`
@ import $ivy.`com.chuusai::shapeless:2.3.3`
@ import shapeless.tag
import shapeless.tag
@ trait Foo
defined trait Foo
@ import io.circe._, io.circe.generic.semiauto._
import io.circe._, io.circe.generic.semiauto._
@ import shapeless.tag.@@
import shapeless.tag.@@
Run Code Online (Sandbox Code Playgroud)
然后,我尝试定义通用标记类型解码器:
@ implicit def taggedTypeDecoder[A, B](implicit ev: Decoder[A]): Decoder[A @@ B] =
ev.map(tag[B][A](_))
defined function taggedTypeDecoder
Run Code Online (Sandbox Code Playgroud)
它在明确拼写时有效String @@ Foo:
@ val x: String @@ Foo = tag[Foo][String]("foo")
x: String @@ Foo = "foo"
@ implicitly[Decoder[String @@ Foo]]
res10: Decoder[String @@ Foo] = io.circe.Decoder$$anon$21@2b17bb37
Run Code Online (Sandbox Code Playgroud)
但是,在定义类型别名时:
@ …Run Code Online (Sandbox Code Playgroud)