我需要转换一个
Map[Symbol, List[A]] to a List[Map[Symbol,A]]
Run Code Online (Sandbox Code Playgroud)
但我找不到一个紧凑的代码片段(我想有一个非常紧凑的方法来实现这一点).
具体来说,我有一个
Map('a -> List("aa", "bb", "cc"),
'b -> List("dd", "ee", "ff"),
'c -> List("gg", "hh", "ii"))
Run Code Online (Sandbox Code Playgroud)
我想得到一个
List(Map('a -> "aa", 'b -> "dd", 'c -> "gg"),
(Map('a -> "bb", 'b -> "ee", 'c -> "hh"),
(Map('a -> "cc", 'b -> "ff", 'c -> "ii"))
Run Code Online (Sandbox Code Playgroud)
请注意,第一个集合中的所有列表都具有相同的大小.
有帮助吗?
我正在尝试使用动作合成将假用户添加到Session.
def GuestAction(f: Request[AnyContent] => Result): Action[AnyContent] = {
Action { request =>
var myUser = searchUser(request.session)
if ( myUser == null ) {
myUser = newUser()
}
f(request).withSession("user" -> myUser)
}
}
Run Code Online (Sandbox Code Playgroud)
在我的控制器中有
def action1 = GuestAction { implicit request =>
// My code
Ok()
}
def action2 = GuestAction { implicit request =>
val user = request.session.get("user").get
// My code
Ok()
}
Run Code Online (Sandbox Code Playgroud)
当我打开Chrome浏览器并浏览到指向"action1"的路线然后浏览到指向"action2"的路线时,一切正常:我有一个新用户并且它已附加到会话中.相反,当我打开Chrome并首先浏览到指向"action2"的路径时,我收到错误,因为我的"request.session"为空,这很明显:使用.withSession()会话附加到Result,而不是来电请求.因此,为了使这项工作,我需要将会话密钥/值对附加到传入请求 - 就像它可能的那样FakeRequest.withSession(),但是没有这样的方法Request.
你有什么建议来解决这个问题?
我想弄清楚什么是最方便的方法(意思是最简洁的)来分割按域分组的URLs(List[String])列表,List[List[String]]其中每个内部列表包含URL来自同一域的s,例如.www.somewhere.net
你将如何面对这项任务?
关于Oracle中"AT TIME ZONE"功能的一个简单问题.似乎名为CEST的时区不是此函数的有效参数,尽管它在视图中列出了V $ TIMEZONE_NAMES
select * from V$TIMEZONE_NAMES where tzname like '%Rome%';
TZNAME TZABBREV CON_ID
----------- -------- ------
Europe/Rome LMT 0
Europe/Rome RMT 0
Europe/Rome CET 0
Europe/Rome CEST 0
SQL>
Run Code Online (Sandbox Code Playgroud)
当我尝试将时间戳转换为时区名称CET时,一切都按预期工作
SELECT TO_TIMESTAMP('2012-MAG-24 02:00:00','RRRR-MON-DD HH24:MI:SS')
AT TIME ZONE 'CET' "CET"
FROM DUAL;
CET
--------------------------------
24-MAG-12 02:00:00,000000000 CET
SQL>
Run Code Online (Sandbox Code Playgroud)
当我将时区更改为CEST时,我收到此错误:
SELECT TO_TIMESTAMP('2012-MAG-24 02:00:00','RRRR-MON-DD HH24:MI:SS')
AT TIME ZONE 'CEST' "CEST"
FROM DUAL;
ORA-01882: timezone region not found
SQL>
Run Code Online (Sandbox Code Playgroud)
我的问题是:为什么CEST时区对此转换无效?
为了清楚起见,我正在运行Oracle 12c实例