Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 缩放平方字符串_String_Scala_Count - Fatal编程技术网

String 缩放平方字符串

String 缩放平方字符串,string,scala,count,String,Scala,Count,再次进行代码战挑战 今天我有一个问题: " 将为您提供一个由n行组成的字符串,每个子字符串的长度为n个字符。例如: s=“abcd\nefgh\nijkl\nmnop” 我们将研究这个正方形弦的“水平”和“垂直”缩放 字符串的k水平缩放包括复制字符串的每个字符的k倍(除了“\n”) 示例:2-s的水平缩放:=>“aabbccdd\neeffgghh\niijkkll\nmmnnoopp” 字符串的v垂直缩放包括复制v乘以平方字符串的每个部分 示例:2-垂直缩放s:=>“abcd\nabcd\ne

再次进行代码战挑战

今天我有一个问题:

" 将为您提供一个由n行组成的字符串,每个子字符串的长度为n个字符。例如:

s=“abcd\nefgh\nijkl\nmnop”

我们将研究这个正方形弦的“水平”和“垂直”缩放

字符串的k水平缩放包括复制字符串的每个字符的k倍(除了“\n”)

示例:2-s的水平缩放:=>
“aabbccdd\neeffgghh\niijkkll\nmmnnoopp”
字符串的v垂直缩放包括复制v乘以平方字符串的每个部分

示例:2-垂直缩放s:=>
“abcd\nabcd\nefgh\nefgh\nijkl\nijkl\nmnop\nmnop”
功能标度(strng,k,v)将执行k水平标度和v垂直标度

示例:
a=“abcd\nefgh\nijkl\nmnop”
比例(a,2,3)
-->“aabbccdd\naabbcdd\naabbcdd\naabbcdd\neeffgghh\neeffgghh\niijjkkl\niijkkll\nmmnnoopp\nmmnnoopp\nmmnnoopp”

"

整个方法必须包含在一个称为“规模”的单一功能中

我的问题是,通过我的实验,我已经达到了一个特定的点,在这个点上,我不知道如何继续前进。我有一个乘法字符列表,但我不知道如何重新组合,所以我可以根据指令使用垂直缩放再次乘法

另外,我只是澄清一下,我并没有只处理函数本身,但在def main中,我尝试了使用随机字符串来达到所需的输出

我的计划是,只有当我对随机字符串的输出感到满意并且满足程序的假设时,才开发函数本身

如果需要的话,我会提供测试,我起初没有这样做,因为我认为我的程序太不成熟了,有必要采取这样的行动。 我不得不承认,我已经走到了死胡同,所有新想法//突破我已经创造出来的东西都是非常受欢迎的

我的当前输出:

向量(列表(aa)、列表(bb)、列表(cc)、列表(dd)、列表(nn)、列表(ee)、列表(ff)、列表(gg)、列表(hh)、列表(nn)、列表(ii)、列表(jj)、列表(kk)、列表(ll)、列表(nn)、列表(mm)、列表(oo)、列表(pp))


您似乎将换行符
\n
与想象中的双字符分隔符
/n
混淆了。返回并重新阅读挑战。只需将每个字符乘以第一个
Int
参数,并将每行乘以第二个
Int
参数

def scale(s :String, x :Int, y:Int) :String =
  s.split("\n")
   .map(_.map(_.toString*x).mkString("","","\n") * y)
   .mkString
测试:

val s = "abcd\nefgh\nijkl\nmnop"
scale(s, 3, 2)
//res0: String =
//"aaabbbcccddd
//aaabbbcccddd
//eeefffggghhh
//eeefffggghhh
//iiijjjkkklll
//iiijjjkkklll
//mmmnnnoooppp
//mmmnnnoooppp
//"
val s = "abcd\nefgh\nijkl\nmnop"
scale(s, 3, 2)
//res0: String =
//"aaabbbcccddd
//aaabbbcccddd
//eeefffggghhh
//eeefffggghhh
//iiijjjkkklll
//iiijjjkkklll
//mmmnnnoooppp
//mmmnnnoooppp
//"