我希望能够使用scalaz的| @ | 在我自己的applicative functor上.
例:
val spread: Source[Yield] = (y2 |@| y1)(_ - _)
这是我的班级
sealed abstract class Source[+A] {
def map[B](f: A => B): Source[B]
def unit[A](a: A): Source[A]
def pureList[A](la: List[A]): Source[A]
def zero[A]: Source[A]
def map2[A, B, C](as: Source[A], bs: Source[B], f: (A, B) => C): Source[C]
}
Run Code Online (Sandbox Code Playgroud)
我确定我必须实施,map因为它是一个仿函数.
一个适用可以通过多种方式来实现:例如使用apply()和unit()或map2()和unit().
我需要ap和pure呢?
如你所见,我不确定需要什么.
我在这样的隐式类中有以下代码:
object TenorOperations {
implicit class TenorOperations(thiss: Tenor) {
def toDate: LocalDate = thiss match {
case Day(d) => LocalDate.now().plusDays(d)
case Month(m) => LocalDate.now().plusMonths(m)
case Year(y) => LocalDate.now().plusYears(y)
case errorDate => throw new Exception("Unexpected date: "+errorDate)
}
}
}
Run Code Online (Sandbox Code Playgroud)
它只是不会在IDEA中编译。
Error:(14, 47) implicit numeric widening
case Day(d) => LocalDate.now().plusDays(d)
^
Error:(15, 51) implicit numeric widening
case Month(m) => LocalDate.now().plusMonths(m)
^
Error:(16, 49) implicit numeric widening
case Year(y) => LocalDate.now().plusYears(y)
^
Run Code Online (Sandbox Code Playgroud)
这曾经工作。我该如何解决?
我有一个包含 250 个字段的案例类:
case class Data(field1:String, field2:Int, .. )
Run Code Online (Sandbox Code Playgroud)
有没有办法使用 scala check 为其参数生成值
我看过的不相关问题:
How to generated case object for every field in a Scala case class using macro?
在 Scala 中动态生成案例类
在 ScalaCheck 中为包含“Numeric”的案例类创建任意实例?
我有 8000 张图像,我正在加载sklearn.datasets.load_files并从keras通过 resnet获取瓶颈功能。然而,这项任务在 GPU 上需要花费数小时,所以我想知道是否有办法告诉load_files加载 20% 之类的数据百分比。
我这样做是为了训练我自己的顶层(最后一个密集层)并将其附加到 resnet。
def load_dataset(path):
data = load_files(path)
files = np.array(data['filenames'])
targets = np_utils.to_categorical(np.array(data['target']), 100)
return files, targets
train_files, train_targets = load_dataset('images/train')
Run Code Online (Sandbox Code Playgroud) 任何人都可以告诉我以下代码有什么问题吗?它增加了14天到对象就好了但是当它增加14天到2月17日它应该出现在今年的2012年3月2日,但我得到的是2012年2月31日.我试过添加2周,单日在一个for循环中,一切都会回到同一个日期.我花了两天时间搜索谷歌并尽可能多地阅读,但没有运气.希望有人在这里可以看到我失踪的东西.
while(calNextPaymentDate.before(calEnd))
{
Dates.add(date);
calNextPaymentDate.add(Calendar.DAY_OF_MONTH, 14);
date = (GregorianCalendar) calNextPaymentDate.clone();
}
Run Code Online (Sandbox Code Playgroud)
在calNextPaymentDate和calEnd有GregorianCalendar对象,我已经做了的痕迹,以确保日期将被填充的罚款.它正确地添加了14天的日期,但正如我所说,我不应该得到2012年2月31日的数据.
我在Java中有一个String.以下是我关注的部分内容{3: {108:TR2011052300088}}
后来我分手了{3: {108:.出于某种原因(我一直在google搜索){,并}是一个特殊字符,因此必须进行转义\}和\{(显然这不起作用- >编译时错误).
其他人提到这是Java正则表达式中的一些错误.我不确定.我得到的例外是:
Exception in thread "main" java.util.regex.PatternSyntaxException: Unclosed counted closure near index 2 {3:{108: at java.util.regex.Pattern.error(Unknown Source)
简而言之,我的代码将字符串拆分{3: {108:为分隔符并在其上崩溃:
String query="{3: {108:";
String [] messageParts = message.split(query);
Run Code Online (Sandbox Code Playgroud)
我知道其他方法,虽然更复杂,比如编写我自己的解析器等.
如何进行字符串拆分而不是崩溃?
编辑:
回答一些评论:
- 双斜线没有帮助:\\{给\{3:\{108:MAMABEARid123}}2斜杠变为1
- 逃避1斜杠将无法编译:无效的转义序列
我正在尝试根据列进行比较.比方说,如果列> 5.
select * where column>5
Run Code Online (Sandbox Code Playgroud)
该列包含非数字.我认为Oracle允许比较字符串(如Java).
显然这是不允许的.
ORA-01722: invalid number
01722. 00000 - "invalid number"
Run Code Online (Sandbox Code Playgroud)
有没有办法与非数字字段进行比较?
谢谢
我已经从http://docs.confluent.io/2.0.0/quickstart.html#quickstart下载了 kafka 连接
我正在尝试运行 hdfs 连接器。以下是设置:
连接standalone.properties:
bootstrap.servers=lvpi00658.s:9092,lvpi00659.s:9092,lvpi00660.s:9092
key.converter=org.apache.kafka.connect.storage.StringConverter
value.converter=org.apache.kafka.connect.storage.StringConverter
internal.key.converter=org.apache.kafka.connect.storage.StringConverter
internal.value.converter=org.apache.kafka.connect.storage.StringConverter
offset.storage.file.filename=/tmp/connect.offsets
# Flush much faster than normal, which is useful for testing/debugging
offset.flush.interval.ms=10000
key.deserializer=org.apache.kafka.common.serialization.StringDeserializer
value.deserializer=org.apache.kafka.common.serialization.StringDeserializer
Run Code Online (Sandbox Code Playgroud)
和
快速入门-hdfs.properties:
name=hdfs-sink
connector.class=io.confluent.connect.hdfs.HdfsSinkConnector
tasks.max=1
topics=eightball-stuff11
hdfs.url=hdfs://localhost:9000
flush.size=3
Run Code Online (Sandbox Code Playgroud)
我像这样运行 hdfs 连接器:
cd /home/fclvappi005561/confluent-3.0.0/bin
./connect-standalone ../etc/kafka-connect-hdfs/connect-standalone.properties ../etc/kafka-connect-hdfs/quickstart-hdfs.properties
但我收到一个错误:
[2016-09-12 17:19:28,039] 信息无法启动 HdfsSinkConnector: (io.confluent.connect.hdfs.HdfsSinkTask:72) org.apache.kafka.connect.errors.ConnectException: org.apache.hadoop。 security.AccessControlException: 权限被拒绝: user=lvpi005561, access=WRITE, inode="/topics":root:supergroup:drwxr-xr-x at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker. java:319) 在 org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:292) 在 org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:213)在 org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:190) 在 org.apache.hadoop.hdfs.server.namenode.FSDirectory。checkPermission(FSDirectory.java:1698) at org.apache.hadoop.hdfs.server.namenode.FSDirectory.checkPermission(FSDirectory.java:1682) at org.apache.hadoop.hdfs.server.namenode.FSDirectory.checkAncestorAccess(FSDirectory. java:1665) 在 org.apache.hadoop.hdfs.server.namenode.FSDirMkdirOp.mkdirs(FSDirMkdirOp.java:71) 在 org.apache.hadoop.hdfs.server.namenode.FSNamesystem.mkdirs(FSNamesystem.java:3900)在 org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.mkdirs(NameNodeRpcServer.java:978) 在 org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.mkdirs(ClientNamenodeProtocolServerSideTranslatorPB.javaorg.apache.hadoop) …
自从十月的第一周以来我一直在研究java,我似乎无法继续这个问题.我解决了一个问题而另一个问题不断出现.我正在使用Blue J,我正在尝试向响应数组添加一个数组.这是代码:
public class eDiary{
public static void main (String args[]){
int [] days = {1,2,3,4,5,6,7};
String [] responses;
int i = 0;
for(i=0; i<7; i++){
String response = Console.readString("What is your major event for day " + days[i]);
responses[responses.length] = responses;
}
}
}
Run Code Online (Sandbox Code Playgroud)
我试图让用户输入当天的重大事件.每个事件都应该将自己添加到响应数组中,因为它对应于days数组(响应1对应于第1天)我没有完成代码,但这是第一部分.该错误一直提到"respond [responses.length] =响应中不兼容的类型;我如何处理这个问题.可能会有更多的错误,因为BlueJ似乎一次只显示一个错误.
我有这种类型的输入:
List( (key1, List(1,2,3)), (key2, List(4,5)) )
我想以下列方式重新映射它:
List( (key1, 1), (key1, 2), (key1, 3), (key2, 4), (key2, 5) )
我无法弄清楚如何将列表拆分为元素并仍保留密钥.
scala ×4
java ×3
string ×2
android ×1
apache-kafka ×1
applicative ×1
arrays ×1
date ×1
hdfs ×1
keras ×1
numpy ×1
ora-01722 ×1
oracle ×1
python-3.x ×1
scalacheck ×1
scalaz ×1
scikit-learn ×1
split ×1
sql ×1