小编Fre*_*red的帖子

FizzBu​​zz Ruby单线程

Rosettacode.org在Ruby中提供了这个出色的单行FizzBu​​zz解决方案.

1.upto(100){|n|puts'FizzBuzz '[i=n**4%-15,i+13]||n}
Run Code Online (Sandbox Code Playgroud)

麻烦的是,我不明白.令我困惑的部分是"4模数-15的力量".有没有人有解释或参考解释?我想用这种方法在其他问题中选择子串.有关FizzBu​​zz的更多信息,请参阅[ https://rosettacode.org/wiki/FizzBu​​zz ]

ruby math substring fizzbuzz modulo

7
推荐指数
1
解决办法
474
查看次数

Scala 嵌套映射 - 如何处理?

这是我的嵌套地图示例,其中数据为文字。该程序按预期运行。

\n\n
    var x = scala.collection.mutable.Map(\n        ("Early", Map(("a", 1),  ("b", 2))), \n        ("Late",  Map(("x", 24), ("y", 25))))\n\nfor (ticker <- x.keys) {\n    val trades = x(ticker)\n    for (tradetime <- trades.keys) {\n        val tradetotal = trades(tradetime)\n        println(ticker + " | " + tradetime + " | " + tradetotal)\n    }\n    println(ticker + " | " + trades)\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

但是,我想消除文字并从 csv 文件读取上述值。这是 csv:

\n\n
Early,a,1 \nEarly,b,2\nLate,x,24\nLate,y,25\n
Run Code Online (Sandbox Code Playgroud)\n\n

下面是读取 csv 并以类似于上面带有文字的程序的方式打印出值的代码。

\n\n
  val bufferedSource = io.Source.fromFile("mapt.csv")\n  val builder = StringBuilder.newBuilder\n\n  for (line <- bufferedSource.getLines) …
Run Code Online (Sandbox Code Playgroud)

csv maps scala nested

4
推荐指数
1
解决办法
7014
查看次数

如何在Fortran中处理大整数?

我需要生成一些大整数。请参见下面的示例。

Input   Result    
 40 165580141    
 80 37889062373143906    
120 8670007398507948658051921    
160 1983924214061919432247806074196061    
200 453973694165307953197296969697410619233826
Run Code Online (Sandbox Code Playgroud)

这是我的Fortran代码:

program cycle
    use iso_fortran_env
  implicit none
  character(200) :: str
  integer :: n
    integer(kind=int64) :: x1, result, x2, x3

    do n = 40, 500, 40
        x1 = n
        result = 1
        x2 = 0
        x3 = 1
        do 
            if (x1 > 1) then
                x2 = result
                result = result + x3 
                x3 = x2     
                x1 = x1 - 1
            else
                exit
            end if
        end do
        write(str,'(i64)')  result …
Run Code Online (Sandbox Code Playgroud)

fortran biginteger

3
推荐指数
1
解决办法
1552
查看次数

Scala:使用数组作为Map的“值”部分

下面的代码的第一部分将元组成功存储在Map的value部分中。第二部分是我尝试存储数组而不是元组的尝试。这是行不通的。怎么了?

    object MyClass {

    def main(args: Array[String]) {
        val m1 = Map("fname" -> (1,2), "lname" -> (3,4))
        for ((k,v) <- m1) printf("key: %s, value: %s, 0: %s\n", k, v, v._1)

        var states = scala.collection.mutable.Map[String, new Array[Int](3)]()
        val states += ("fname" -> (1,2,3))
        val states += ("lname" -> (4,5,6))
        for ((k,v) <- states) printf("key: %s, value: %s, 0: %s\n", k, v, v._1)         
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我得到的错误。

这是我得到的错误

一旦理解了完成这项工作的语法,我也想访问数组中的各个元素。

arrays scala

3
推荐指数
1
解决办法
66
查看次数

在Scala中找到"整洁的数字"

整数是一个数字,其数字是非递减顺序,例如1234.这是一种查找用Ruby编写的整齐数字的方法:

def tidy_number(n)
  n.to_s.chars.sort.join.to_i == n
end

p tidy_number(12345678)     # true
p tidy_number(12345878)     # false
Run Code Online (Sandbox Code Playgroud)

我试着在Scala中编写相同的东西并得出以下内容:

object MyClass {
def tidy_number(n:Int) = n.toString.toList.sorted.mkString.toInt == n;

    def main(args: Array[String]) {
      println(tidy_number(12345678))        // true
      println(tidy_number(12345878))        // false
    }
}
Run Code Online (Sandbox Code Playgroud)

我能在Scala中完成它的唯一方法是将一个整数转换为一个字符串到一个列表,然后对列表进行排序并再次返回.我的问题:还有更好的方法吗?从某种意义上说,"更好"的转化次数更少.我主要是在寻找Scala的简洁部分,但如果有人在Ruby中指出更简洁的方式,我将不胜感激.

ruby integer scala

2
推荐指数
2
解决办法
119
查看次数

如何在for循环中基于结构声明变量

这是一个在 for 循环之前声明变量的工作程序。

package main

import "fmt"

type brackets struct {
    ch   string
    pos  int
}

type stack []brackets

func main() {
    p := brackets{ch: "a"}
    st := make(stack,0)
    for i :=  0; i < 3; i++ {
        p = brackets{ch: "a", pos: 1}
        st = append(st, p) 
        fmt.Println(p)
        fmt.Println(st)
    }
}
Run Code Online (Sandbox Code Playgroud)

我想声明相同的变量作为 for 循环的一部分。如何?这是一个错误的尝试。

package main

import "fmt"

type brackets struct {
    ch   string
    pos  int
}

type stack []brackets

func main() {
//    p := brackets{ch: "a"}
// …
Run Code Online (Sandbox Code Playgroud)

struct loops go

1
推荐指数
1
解决办法
74
查看次数

标签 统计

scala ×3

ruby ×2

arrays ×1

biginteger ×1

csv ×1

fizzbuzz ×1

fortran ×1

go ×1

integer ×1

loops ×1

maps ×1

math ×1

modulo ×1

nested ×1

struct ×1

substring ×1