相关疑难解决方法(0)

从函数返回随机值副作用?

我正在研究一些F#代码,我正在研究一个函数来从一组字符串中返回一个随机字符串.假设我有这样的事情:

open System

let a = [|"a";"b";"c";"d"|]

let rstring (arr:string[]) =
   let r = new Random()
   arr.[r.Next(0,3)]

let resultstring = rstring a;;
Run Code Online (Sandbox Code Playgroud)

我的问题是:我对函数式编程概念的理解是,如果给定的函数每次都有相同的输入,它应该总是返回相同的输出.那么在这种特殊情况下每次返回一个不同的字符串"副作用"?我只是好奇.

如果这是一个重复的问题,请指出我原来的,我会关闭它.我不确定用什么搜索字符串来查找与此相关的任何问题.


编辑:感谢大家的所有信息.我似乎把参考透明度和缺乏副作用的概念混为一谈.所以,感谢所有人让我直截了当地感谢你的答案.

f# functional-programming

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

标签 统计

f# ×1

functional-programming ×1