D语言实现PHP的array_key_first和array_key_last函数

D语言实现array_key_first和array_key_last函数的方式有很多,以下是其中的几种:

  1. 使用std.algorithm中的front和back函数来获取map中第一个和最后一个键值对的键名:
import std.algorithm;
import std.stdio;
import std.container;

string[array] map = ['key1': 'value1', 'key2': 'value2', 'key3': 'value3'];

string array_key_first(string[array] map) {
    return map.front[0];
}

string array_key_last(string[array] map) {
    return map.back[0];
}

void main() {
    writeln(array_key_first(map));
    writeln(array_key_last(map));
}
  1. 使用std.range中的front和back函数,将map转换为range类型后再获取第一个和最后一个键值对的键名:
import std.algorithm;
import std.stdio;
import std.container;
import std.range;

string[array] map = ['key1': 'value1', 'key2': 'value2', 'key3': 'value3'];

string array_key_first(string[array] map) {
    return map.range.front[0];
}

string array_key_last(string[array] map) {
    return map.range.back[0];
}

void main() {
    writeln(array_key_first(map));
    writeln(array_key_last(map));
}
  1. 使用std.container中的KeyRange和ValueRange,将map的键名和值分别转换为range类型后再获取第一个和最后一个键名:
import std.algorithm;
import std.stdio;
import std.container;

string[array] map = ['key1': 'value1', 'key2': 'value2', 'key3': 'value3'];

string array_key_first(string[array] map) {
    return map.keys.front;
}

string array_key_last(string[array] map) {
    return map.keys.back;
}

void main() {
    writeln(array_key_first(map));
    writeln(array_key_last(map));
}

完整代码:

import std.algorithm;
import std.stdio;
import std.container;
import std.range;

string[array] map = ['key1': 'value1', 'key2': 'value2', 'key3': 'value3'];

//方式1
string array_key_first(string[array] map) {
    return map.front[0];
}

string array_key_last(string[array] map) {
    return map.back[0];
}

//方式2
string array_key_first(string[array] map) {
    return map.range.front[0];
}

string array_key_last(string[array] map) {
    return map.range.back[0];
}

//方式3
string array_key_first(string[array] map) {
    return map.keys.front;
}

string array_key_last(string[array] map) {
    return map.keys.back;
}

void main() {
    writeln(array_key_first(map));
    writeln(array_key_last(map));
}
D语言实现PHP的array_key_first和array_key_last函数

原文地址: https://www.cveoy.top/t/topic/oij5 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录