我正在尝试实现一个滑动窗口算法来匹配文本文件中的单词.我来自程序背景,我在Erlang这样的函数式语言中首次尝试这样做似乎需要时间O(n ^ 2)(甚至更多).如何用函数式语言做到这一点?
-module(test).
-export([readText/1,patternCount/2,main/0]).
readText(FileName) ->
{ok,File} = file:read_file(FileName),
unicode:characters_to_list(File).
patternCount(Text,Pattern) ->
patternCount_(Text,Pattern,string:len(Pattern),0).
patternCount_(Text,Pattern,PatternLength,Count) ->
case string:len(Text) < PatternLength of
true -> Count;
false ->
case string:equal(string:substr(Text,1,PatternLength),Pattern) of
true ->
patternCount_(string:substr(Text,2),Pattern,PatternLength,Count+1);
false ->
patternCount_(string:substr(Text,2),Pattern,PatternLength,Count)
end
end.
main() ->
test:patternCount(test:readText("file.txt"),"hello").
Run Code Online (Sandbox Code Playgroud) Erlang运行时对发送到不存在的进程的消息做了什么?例如,生成一个进程,然后在它终止后,另一个进程向它发送一条消息.
对于erlang中的模式匹配字符串,哪种方法更好?
receiveString("someString") -> %doStuff;
receiveString("differentString") -> %doOtherStuff.
Run Code Online (Sandbox Code Playgroud)
要么
receiveString(A) when A == "someString" -> %doStuff;
receiveString(A) when A == "differentString" -> %doOtherStuff.
Run Code Online (Sandbox Code Playgroud)
此外,是否可以有多个when
条款?
我试图弄清楚如何以maps
允许我使用相同键处理元素的方式合并两个.
例如,合并
#{"Ala" => 1,"kota" => 3}
同
#{"kota" => 4}
应该导致:
#{"Ala" => 1,"kota" => 7}
我正在尝试通过使用这种方法来读取短信。但是我的应用程序未读取Message。
我尝试过的代码。
权限:
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.READ_SMS" />
<uses-permission android:name="android.permission.SEND_SMS" />
Run Code Online (Sandbox Code Playgroud)
活动(主要代码):
class OtpActivity : AppCompatActivity(), View.OnClickListener {
private var smsVerifyCatcher: SmsVerifyCatcher? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_otp)
smsVerifyCatcher = SmsVerifyCatcher(this, OnSmsCatchListener { message ->
val code = parseCode(message)//Parse verification code
Log.e("Code", code)
//then you can send verification code to server
})
smsVerifyCatcher!!.setPhoneNumberFilter("0902249") // I passed 10 digit number here
smsVerifyCatcher!!.setFilter("Ashish") // For extra i added Filter for name
}
private fun parseCode(message: String): …
Run Code Online (Sandbox Code Playgroud) 我已经尝试过几篇文章来构建可定制的 OTP 组件,但很难获得它
其中一些可以在IOS平台上运行,但不能在android平台上运行
最后,作为一个反应原生新手,经过一番努力,我完成了这一点
javascript one-time-password reactjs react-native react-hooks
我正在尝试制作一个 django 应用程序,我想在其中创建一个 opt 验证,但我很困惑什么是正确的方法。这是我到目前为止所做的:
模型.py
class User(AbstractUser):
is_shipper = models.BooleanField(default=False)
is_ftlsupp = models.BooleanField(default=False)
is_ptlsupp = models.BooleanField(default=False)
otp = models.IntegerField(default=1620122)
verified = models.BooleanField(default=False)
Run Code Online (Sandbox Code Playgroud)
序列化器.py
class UserSerializer(serializers.ModelSerializer):
password = serializers.CharField(write_only=True)
class Meta:
model = User
fields = "__all__"
read_only_fields = ('id', 'verified')
def create(self, validated_data):
user = super(UserSerializer, self).create(validated_data)
user.set_password(validated_data['password'])
def random_with_N_digits(n):
range_start = 10**(n-1)
range_end = (10**n)-1
return randint(range_start, range_end)
otp = random_with_N_digits(6)
user.otp = otp
user.save()
subject = 'Please Confirm Your Account'
message = 'Your 6 Digit Verification Pin: …
Run Code Online (Sandbox Code Playgroud) Erlang手册页说:
请注意,运行时间是 Erlang 运行时系统中所有线程的运行时间之和,因此可能大于挂钟时间
但从这个wiki 页面来看,CPU 时间(运行时)似乎总是小于挂钟时间:
两者之间的差异包括由于编程延迟或等待资源可用而花费的时间。
运行时间怎么可能大于挂钟时间?
我想将OTP用于我的node-express API.现在我可以使用用户名和密码对内容进行个性化设置,但是想使用手机号码和OTP来实现.我可以使用哪些参考资料?
我有这个代码:
cnf.mli
type literal
type clause
type cnf
type l_diff
val l_compare: literal -> literal -> l_diff
Run Code Online (Sandbox Code Playgroud)
cnf.ml(部分)
type l_diff = Same | Negation | Different
Run Code Online (Sandbox Code Playgroud)
checker.ml(部分)
open Cnf
type solution = (literal * bool) list
let rec solve_literal sol l =
match sol with
| [] -> false
| (hl, b)::rs when (l_compare l hl) = Same -> b
| (hl, b)::rs when (l_compare l hl) = Negation -> not b
| _::rs -> solve_literal rs l
Run Code Online (Sandbox Code Playgroud)
这适用于utop使用:
#mod_use …
Run Code Online (Sandbox Code Playgroud) 我想在我的文本字段中显示 OTP 代码,我在 google 中搜索并获得以下代码。
在我的应用程序中我使用 IQkeyboard 管理器
但 OTP 自动填充对我不起作用。
@IBOutlet weak var otp: CustomTextField!
if #available(iOS 12.0, *) {
otp.textContentType = .oneTimeCode
}
Run Code Online (Sandbox Code Playgroud)
我按照以下方式收到消息。
Your ***** verification code is :969514
Run Code Online (Sandbox Code Playgroud) 我util.Scanner
用来读取用户的输入.我不明白如何读取长数据类型值.
Scanner scr=new Scanner(System.in);
long l=scr.nextInt();
Run Code Online (Sandbox Code Playgroud)
我无法使用上面的代码读取64位数据 - 它只是给我一个输入不匹配异常.
free
在堆上分配内存后,这两种调用变量之间是否存在差异:
// variant 1
int* p1 = (int*) malloc(sizeof(int)*4);
free(p1);
//variant 2
int* p2 = (int*) malloc(sizeof(int)*4);
free(*p2);
*p2 = NULL;
Run Code Online (Sandbox Code Playgroud)